Цель примера состоит в том, чтобы показать вам следующее:
Как использовать продукт MATLAB® Compiler SDK™, чтобы создать блок (SpectraComp
) содержа больше чем один класс
Как получить доступ к компоненту в приложении C# (SpectraApp.cs
), включая использование MWArray
иерархия классов, чтобы представлять данные
Примечание
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в
папка, где matlabroot
\help\dotnetbuilder\MWArrayAPImatlabroot
представляет вашу папку установки MATLAB
Как создать и запустить приложение, с помощью Визуальной среды разработки Studio®.NET
SpectraComp
компонента анализирует сигнал и изображает результат в виде графика. Класс,
SignalAnalyzer
, выполняет быстрое преобразование Фурье (FFT) на массиве входных данных. Метод этого класса, 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
.
Из галереи 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.
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.