exponenta event banner

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

Цель

Цель примера - показать следующее:

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

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

    Примечание

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

 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. В галерее приложений MATLAB откройте приложение Компилятор библиотеки.

  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 > Открыть вне MATLAB.

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

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

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