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

Цель

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

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

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

    Примечание

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

 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. The 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.