Цель примера состоит в том, чтобы показать вам следующее:
Как использовать MATLAB® Compiler SDK™ продукт для создания сборки (SpectraComp
), содержащий более одного класса
Как получить доступ к компоненту в приложении C # (SpectraApp.cs
), включая использование MWArray
иерархия классов для представления данных
Примечание
Для получения информации об этих классах преобразования данных смотрите MATLAB MWArray Class Ссылка, доступный в
папка, где matlabroot
\ help\dotnetbuilder\MWArrayAPImatlabroot
представляет вашу папку установки MATLAB
Как создать и запустить приложение, используя Visual Studio® Среда разработки .NET
Область компонента SpectraComp
анализирует сигнал и графически отображает результат. Класс, SignalAnalyzer
, выполняет быстрое преобразование Фурье (БПФ) на массиве входных данных. Метод этого класса, computefft
, возвращает результаты этого БПФ как два выходных массива - массив частотных точек и спектральную плотность степени. Второй класс, Plotter
, графически отображает возвращенные данные с помощью plotfft
способ. Эти два метода, computefft
и plotfft
, инкапсулируйте функции MATLAB.
The computefft
способ вычисляет БПФ и спектральную плотность степени входных данных и вычисляет вектор частотных точек на основе длины введенных данных и интервала дискретизации. The plotfft
метод строит графики данных БПФ и спектральной плотности степени в графическом окне MATLAB. Код MATLAB для этих двух методов находится в двух файлах MATLAB, computefft.m
и plotfft.m
, который можно найти в:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion
\NET\SpectraExample\SpectraComp
Если вы еще не сделали этого, скопируйте файлы для этого примера следующим образом:
Скопируйте следующую папку, которая поставляется с продуктом MATLAB, в вашу рабочую папку:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\SpectraExample
В командной строке MATLAB, cd
на новый SpectraExample
подпапка в рабочей папке.
Напишите код MATLAB, к которому вы хотите получить доступ.
Этот пример использует computefft.m
и plotfft.m
, которые уже находятся в вашей рабочей папке в SpectraExample\SpectraComp
.
Из галереи Apps MATLAB откройте приложение Library Compiler.
Создайте .NET компонент. Для получения дополнительной информации см. инструкции в разделе «Создание сборки .NET и создание приложения .NET». Используйте следующую информацию:
Имя проекта | SpectraComp |
Имена классов | Plotter SignalAnalyzer |
Файлы для компиляции | computefft.m plotfft.m |
Запись исходного кода для приложения, которое обращается к компоненту.
Пример применения для этого примера приведен в SpectraExample\SpectraCSApp\SpectraApp.cs
.
Список программ показан здесь.
Программа делает следующее:
Создает вход массива со значениями, представляющими случайный сигнал с двумя синусоидами на 15 и 40 Гц, встроенными в него
Создание MWNumericArray
массив, содержащий данные
Создание экземпляров SignalAnalyzer
объект
Вызывает computefft
метод, который вычисляет БПФ, частоту и спектральную плотность
Создание экземпляров Plotter
объект
Вызывает plotfft
метод, который строит графики данных
Использует try
/ catch
блок, для обработки исключений
Следующий оператор
MWNumericArray data= new MWNumericArray(MWArrayComplexity.Real, MWNumericType.Double, numSamples);
показывает, как использовать MWArray
библиотека классов для создания MWNumericArray
который используется в качестве входа в computefft
функция.
Следующий оператор
SignalAnalyzer signalAnalyzer = new SignalAnalyzer();
создает образец класса SignalAnalyzer
, и следующий оператор
MWArray[] argsOut= signalAnalyzer.computefft(3, data, interval);
вызывает метод computefft
.
Создайте SpectraApp
приложение с использованием Visual Studio .NET.
The SpectraCSApp
папка содержит файл проекта Visual Studio .NET для этого примера. Откройте проект в Visual Studio .NET двойным кликом мыши SpectraCSApp.csproj
в Windows® Исследователь. Вы также можете открыть его с рабочего стола, щелкнув правой кнопкой мыши SpectraCSApp.csproj > Open Outside MATLAB.
Добавьте ссылку на MWArray
компонент, который
Список поддерживаемых версий среды см. в разделе Поддерживаемые версии Microsoft .NET Framework.matlabroot
\ toolbox\dotnetbuilder\bin\ architecture
\framework_version
\mwarray.dll.
При необходимости добавьте (или исправьте местоположение) ссылку на SpectraComp
компонент, созданный на предыдущем шаге. (Компонент, SpectraComp.dll
, находится в \SpectraExample\SpectraComp\x86\V2.0\Debug\distrib
подпапка рабочей области.)
Создайте и запустите приложение в Visual Studio .NET.