exponenta event banner

Переменное количество аргументов

Примечание

Этот пример похож на «Integrating a Simple MATLAB Function» (Интеграция простой функции MATLAB), за исключением того, что функция MATLAB ®, подлежащая инкапсуляции, принимает переменное количество аргументов вместо одного.

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

  • Как использовать продукт MATLAB Compiler SDK™ для преобразования функции MATLAB, drawgraph, который принимает переменное число аргументов, к методу класса .NET (Plotter) и обернуть класс в сборку .NET (VarArgComp). drawgraph функция (которая может быть вызвана как метод Plotter class) отображает график входных параметров.

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

    Примечание

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

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

Пошаговая процедура

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

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

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

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

    Код функций в этом примере выглядит следующим образом:

     drawgraph.m

     extractcoords.m

    Этот код уже находится в вашей рабочей папке в \VarArgExample\VarArgComp\.

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

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

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

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

    Пример приложения для этого примера находится в VarArgExample\VarArgCSApp\VarArgApp.cs.

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

     VarArgApp.cs

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

    • Инициализирует три массива (colorSpec, data, и coords) с использованием MWArray библиотека классов

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

    • Вызывает extracoords и drawgraph методы

    • Использование MWNumericArray для представления данных, необходимых для методов

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

    Следующие инструкции являются альтернативными способами вызова drawgraph способ:

    data= (MWNumericArray)plotter.drawgraph(colorSpec, 
                    coords[0], coords[1], coords[2],coords[3], coords[4]);
    ...
    data= (MWNumericArray)plotter.drawgraph((MWArray)colorSpec, coords);
    
  6. Построить VarArgApp с помощью Visual Studio .NET.

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

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

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

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