exponenta event banner

Интеграция простой функции MATLAB

Цель этих примеров - выделить основные шаги, необходимые для интеграции функции MATLAB ®.

Простой график

Цель

drawgraph функция отображает график входных параметров x и y. Цель примера - показать, как:

  • Используйте продукт MATLAB Compiler SDK™ для преобразования функции MATLAB (drawgraph) методу класса .NET (Plotter) и обернуть класс в сборку .NET (PlotComp).

  • Вызовите компонент в приложении C # (PlotApp.cs) путем создания экземпляра Plotter класс и использование MWArray библиотека классов для обработки преобразования данных.

    Примечание

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

  • Построить и запустить PlotCSApp с помощью среды разработки Visual Studio ® .NET.

Процедура

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

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

      matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PlotExample
    2. В командной строке MATLAB измените папку на новую PlotExample\PlotComp вложенной папки в рабочей папке.

  2. Напишите drawgraph как и любая функция MATLAB.

    Этот код уже находится в вашей рабочей папке в PlotExample\PlotComp\drawgraph.m.

  3. В галерее приложений MATLAB откройте приложение Компилятор библиотеки.

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

    Название проектаPlotComp
    Имя классаPlotter
    Файл для компиляцииdrawgraph.m

  5. Запись исходного кода для приложения C #, которое обращается к компоненту.

    Пример приложения для этого примера находится в matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\PlotExample
    \PlotCSApp\PlotApp.cs
    .

    Список программ показан здесь.

     PlotApp.cs

    Программа выполняет следующие действия:

    • Создание двух массивов двойных значений

    • Создает Plotter объект.

    • Вызывает drawgraph метод построения графика уравнения с использованием MATLAB plot функция.

    • Использование MWNumericArray для представления данных, необходимых drawgraph метод построения графика уравнения.

    • Использует try-catch блокировать для захвата и обработки любых исключений.

    Заявление

     Plotter plotter= new Plotter(); 

    создает экземпляр Plotter класс и оператор

    plotter.drawgraph((MWNumericArray)plotValues);
    

    явно выдает собственный plotValues кому MWNumericArray а затем вызывает метод drawgraph.

  6. Построить PlotCSApp с помощью Visual Studio .NET.

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

    2. Добавление ссылки на MWArray компонент, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.

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

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

Телефонная книга

Цель

Цель

makephone функция принимает структурный массив в качестве входных данных, изменяет его и выдает измененный массив в качестве выходных данных.

Примечание

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

Процедура

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

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

      matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PhoneBookExample
    2. В командной строке MATLAB cd к новому PhoneBookExample вложенной папки в рабочей папке.

  2. Напишите makephone как и любая функция MATLAB.

    Следующий код определяет makephone функция:

    function book = makephone(friends)
    %MAKEPHONE Add a structure to a phonebook structure
    %   BOOK = MAKEPHONE(FRIENDS) adds a field to its input structure.
    %   The new field EXTERNAL is based on the PHONE field of the original.
    %   Copyright 2006-2012 The MathWorks, Inc.
    
    book = friends;
    for i = 1:numel(friends)
        numberStr = num2str(book(i).phone);
        book(i).external = ['(508) 555-' numberStr];
    end

    Этот код уже находится в вашей рабочей папке в PhoneBookExample\PhoneBookComp\makephone.m.

  3. В галерее приложений MATLAB откройте приложение Компилятор библиотеки.

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

    Название проектаPhoneBookComp
    Имя классаPhoneBook
    Файл для компиляцииmakephone

  5. Запись исходного кода для приложения, получающего доступ к компоненту.

    Пример приложения для этого примера находится в matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\
    PhoneBookExample\PhoneBookCSApp\PhoneBookApp.cs
    .

    Программа определяет структурный массив, содержащий имена и номера телефонов, изменяет его с помощью функции MATLAB и отображает результирующий структурный массив.

    Список программ показан здесь.

     PhoneBookApp.cs

    Программа выполняет следующие действия:

    • Создание структурного массива с использованием функции MWStructArray для представления примера данных телефонной книги.

    • Создает экземпляр Phonebook класс как thePhonebook объект, как показано на рисунке:
      thePhonebook = new phonebook();

    • Вызывает makephone метод создания измененной копии структуры путем добавления дополнительного поля, как показано на рисунке:
      result = thePhonebook.makephone(1, friends);

  6. ПостроитьPhoneBookCSApp с помощью Visual Studio .NET.

    1. PhoneBookCSApp содержит файл проекта Visual Studio .NET для этого примера. Откройте проект в Visual Studio .NET, дважды щелкнув PhoneBookCSApp.csproj в Проводнике Windows. Его также можно открыть с рабочего стола, щелкнув правой кнопкой мыши по команде «» («(» «)» («») «(» «)» («») «(» «)» («»).

    2. Добавление ссылки на MWArray компонент, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version
      \mwarray.dll.

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

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

    PhoneBookApp программа должна отображать выходные данные:

    Friends: 
    2x2 struct array with fields:
        name
        phone
    Result: 
    2x2 struct array with fields:
        name
        phone
        external
    Result record 2:
    Mary Smith
    3912
    (508) 555-3912
    
    Entire structure:
    Number of Elements: 4
    Dimensions: 2-by-2
    Number of Fields: 3
    Standard MATLAB view:
    2x2 struct array with fields:
        name
        phone
        external
    Walking structure:
    Element 1
       name: Jordan Robert
       phone: 3386
       external: (508) 555-3386
    Element 2
       name: Mary Smith
       phone: 3912
       external: (508) 555-3912
    Element 3
       name: Stacy Flora
       phone: 3238
       external: (508) 555-3238
    Element 4
       name: Harry Alpert
       phone: 3077
       external: (508) 555-3077