Цель примера - показать следующее:
Как использовать продукт MATLAB ® Compiler SDK™ для создания сборки (SpectraComp) содержит более одного класса
Доступ к компоненту в приложении C # (SpectraApp.cs), включая использование MWArray иерархия классов для представления данных
Примечание
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MATLAB MWArray, доступный в папка, где matlabroot\help\dotnetbuilder\MWArrayAPImatlabroot представляет папку установки MATLAB
Создание и запуск приложения с помощью среды разработки Visual Studio ® .NET
Компонент SpectraComp анализирует сигнал и строит график результата. Класс, SignalAnalyzerвыполняет быстрое преобразование Фурье (БПФ) во входном массиве данных. Метод этого класса, computefft, возвращает результаты этого БПФ в виде двух выходных массивов - массива частотных точек и спектральной плотности мощности. Второй класс,Plotter, строит график возвращенных данных с помощью plotfft способ. Эти два метода, computefft и plotfft, инкапсулировать функции MATLAB.
computefft способ вычисляет БПФ и спектральную плотность мощности входных данных и вычисляет вектор частотных точек на основе длины введенных данных и интервала дискретизации. 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.
В галерее приложений MATLAB откройте приложение Компилятор библиотеки.
Создайте компонент .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.
SpectraCSApp содержит файл проекта Visual Studio .NET для этого примера. Откройте проект в Visual Studio .NET, дважды щелкнув SpectraCSApp.csproj в Проводнике Windows ®. Его также можно открыть с рабочего стола, щелкнув правой кнопкой мыши по команде SpectraCSApp.csproj > Открыть вне MATLAB.
Добавление ссылки на MWArray компонент, который является Список поддерживаемых версий платформы см. в разделе Поддерживаемые версии платформы Microsoft .NET.matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version
\mwarray.dll.
При необходимости добавьте (или исправьте расположение) ссылку на SpectraComp компонент, который был построен на предыдущем шаге. (Компонент, SpectraComp.dll, находится в \SpectraExample\SpectraComp\x86\V2.0\Debug\distrib подпапка рабочей области.)
Создайте и запустите приложение в Visual Studio .NET.