Несколько классов в компоненте.NET

Цель

Цель примера состоит в том, чтобы показать вам следующее:

  • Как использовать продукт MATLAB® Compiler SDK™, чтобы создать блок (SpectraComp) содержа больше чем один класс

  • Как получить доступ к компоненту в приложении C# (SpectraApp.cs), включая использование MWArray иерархия классов, чтобы представлять данные

    Примечание

    Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в matlabroot\help\dotnetbuilder\MWArrayAPI папка, где matlabroot представляет вашу папку установки 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

 computefft.m

 plotfft.m

Процедура

  1. Если вы уже не сделали так, скопируйте файлы для этого примера можно следующим образом:

    1. Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:

      matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\SpectraExample
      
    2. В командной строке MATLAB, cd к новому SpectraExample подпапка в вашей папке работы.

  2. Запишите код MATLAB, к которому вы хотите получить доступ.

    Этот пример использует computefft.m и plotfft.m, которые уже находятся в вашей папке работы в SpectraExample\SpectraComp.

  3. Из галереи Apps MATLAB откройте приложение Library Compiler.

  4. Создайте компонент.NET. Смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET для получения дополнительной информации. Используйте следующую информацию:

    Название проектаSpectraComp
    Имена классовPlotter    SignalAnalyzer
    Файлы, чтобы скомпилироватьcomputefft.m    plotfft.m

  5. Запишите исходный код для приложения, это получает доступ к компоненту.

    Пример приложения для этого примера находится в SpectraExample\SpectraCSApp\SpectraApp.cs.

    Распечатку программ показывают здесь.

     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.

  6. Создайте SpectraApp приложение с помощью Visual Studio.NET.

    1. SpectraCSApp папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по SpectraCSApp.csproj в Проводнике Windows®. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по SpectraCSApp.csproj> Open Outside MATLAB.

    2. Добавьте ссылку на MWArray компонент, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version
      \mwarray.dll.
      Смотрите Поддерживаемые Версии Microsoft.NET Framework для списка поддерживаемых версий среды.

    3. При необходимости добавьте (или зафиксируйте местоположение), ссылка на SpectraComp компонент, который вы создали на предыдущем шаге. (Компонент, SpectraComp.dll, находится в \SpectraExample\SpectraComp\x86\V2.0\Debug\distrib подпапка вашей рабочей области.)

  7. Создайте и запустите приложение в Visual Studio.NET.

Для просмотра документации необходимо авторизоваться на сайте