Этот пример подобен Интеграции Простой функции MATLAB, за исключением того, что функция MATLAB®, которая будет инкапсулироваться, берет переменное количество аргументов вместо всего один.
Цель примера состоит в том, чтобы показать вам следующее:
Как использовать продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB, drawgraph
, который берет переменное количество аргументов, к методу класса.NET (Plotter
) и переносит класс в блок.NET (VarArgComp
). Функция drawgraph
(который может быть назван как метод класса Plotter
) отображает график входных параметров.
Как получить доступ к компоненту в приложении C# (VarArgApp.cs
) путем инстанцирования класса Plotter
и использования MWArray
, чтобы представлять данные.
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в папке
, где matlabroot\help\dotnetbuilder\MWArrayAPI
matlabroot
представляет вашу папку установки MATLAB
Как создать и запустить приложение VarArgDemoApp
, с помощью Визуальной среды разработки Studio®.NET.
Постепенная процедура
Если вы уже не сделали так, скопируйте файлы для этого примера можно следующим образом:
Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\VarArgExample
В подсказке команды MATLAB, cd
к новой подпапке VarArgExample
в вашей папке работы.
Запишите функции MATLAB, когда вы были бы любая функция MATLAB.
Код для функций в этом примере следующие:
Этот код уже находится в вашей папке работы в \VarArgExample\VarArgComp\
.
Из галереи приложений MATLAB откройте приложение Library Compiler.
Создайте компонент.NET. Смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET для получения дополнительной информации. Используйте следующую информацию:
Название проекта | VarArgComp |
ClassName | Plotter |
Файл, чтобы скомпилировать | extractcoords.m drawgraph.m |
Запишите исходный код для приложения, это получает доступ к компоненту.
Пример приложения для этого примера находится в VarArgExample\VarArgCSApp\VarArgApp.cs
.
Распечатку программ показывают здесь.
Программа делает следующее:
Инициализирует три массива (colorSpec
, data
и coords
) использование библиотеки классов MWArray
Создает объект Plotter
Вызывает методы drawgraph
и extracoords
Использование 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);
Создайте приложение VarArgApp
с помощью Visual Studio.NET.
Папка VarArgCSApp
содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по VarArgCSApp.csproj
в Проводнике Windows®. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по VarArgCSApp.csproj> Open Outside MATLAB.
Добавьте ссылку на компонент MWArray
, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.
Добавьте или, при необходимости, зафиксируйте местоположение ссылки на компонент VarArgComp
, который вы создали на предыдущем шаге. (Компонент, VarArgComp.dll
, находится в подпапке \VarArgExample\VarArgComp\x86\v4.0\debug\distrib
вашей рабочей области.)
Создайте и запустите приложение в Visual Studio.NET.