Этот пример показывает вам, как создать приложение.NET с помощью MATLAB® функция, которая берет переменное количество аргументов вместо всего один.
В этом примере вы выполняете следующие шаги:
Используйте продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB drawgraph к методу класса.NET (Plotter) и перенесите класс в блок.NET (VarArgComp). drawgraph функционируйте отображает график входных параметров и называется как метод Plotter класс.
Доступ к компоненту в приложении C# (VarArgApp.cs) или Visual Basic® приложение (VarArgApp.vb) путем инстанцирования Plotter класс и использование MWArray представлять данные.
Создайте и запустите VarArgDemoApp приложение с помощью Visual Studio® Среда разработки.NET.
| Функции MATLAB | drawgraph.mextractcoords.m |
| Местоположение функции MATLAB | |
| Участок кода C# | |
| Участок кода Visual Basic | |
Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\VarArgExample
В командной строке MATLAB перейдите к новому VarArgExample\VarArgComp подпапка в вашей папке работы.
Исследуйте drawgraph и extractcoords функции.
function [xyCoords] = DrawGraph(colorSpec, varargin) numVarArgIn= length(varargin); xyCoords= zeros(numVarArgIn, 2); for idx = 1:numVarArgIn xCoord = varargin{idx}(1); yCoord = varargin{idx}(2); x(idx) = xCoord; y(idx) = yCoord; xyCoords(idx,1) = xCoord; xyCoords(idx,2) = yCoord; end xmin = min(0, min(x)); ymin = min(0, min(y)); axis([xmin fix(max(x))+3 ymin fix(max(y))+3]) plot(x, y, 'color', colorSpec);
function [varargout] = ExtractCoords(coords) for idx = 1:nargout varargout{idx}= coords(idx,:); end
Создайте компонент.NET с приложением Library Compiler или compiler.build.dotNETAssembly использование следующей информации:
| Поле | Значение |
|---|---|
| Имя библиотеки | VarArgComp |
| ClassName | Plotter |
| Файлы, чтобы скомпилировать | extractcoords.m drawgraph.m |
Например, если вы используете compiler.build.dotNETAssemblyВвод:
buildResults = compiler.build.dotNETAssembly(["extractcoords.m","drawgraph.m"], ... 'AssemblyName','VarArgComp', ... 'ClassName','Plotter');
Для получения дополнительной информации смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET.
Решите, используете ли вы C# или Visual Basic, чтобы получить доступ к компоненту.
C
Если вы используете C#, запишите исходный код для приложения C#, это получает доступ к компоненту.
Пример приложения для этого примера находится в VarArgExample\VarArgCSApp\VarArgApp.cs.
Следующие операторы являются альтернативными способами вызвать drawgraph метод:
data= (MWNumericArray)plotter.drawgraph(colorSpec,
coords[0], coords[1], coords[2],coords[3], coords[4]);
...
data= (MWNumericArray)plotter.drawgraph((MWArray)colorSpec, coords);
Visual Basic
Если вы используете Visual Basic, запишите исходный код для приложения Visual Basic, это получает доступ к компоненту.
Пример приложения для этого примера находится в VarArgExample\VarArgVBApp\VarArgApp.vb.
Следующие операторы являются альтернативными способами вызвать drawgraph метод:
data = CType(plotter.drawgraph(colorSpec, coords(0), coords(1), coords(2),
coords(3), coords(4)), MWNumericArray)
...
data = CType(plotter.drawgraph(colorSpec, coords), MWNumericArray)В любом случае, VarArgApp программа делает следующее:
Инициализирует три массива (colorSpecданные, и coords) использование MWArray библиотека классов
Создает Plotter объект
Вызывает extracoords и drawgraph методы
Использование MWNumericArray представлять данные, необходимые методам
Использует try-catch блокируйтесь, чтобы отловить и обработать любые исключения
Откройте файл проекта.NET, который соответствует вашему языку приложения с помощью Visual Studio.
C
Если вы используете C#, VarArgCSApp папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по VarArgCSApp.csproj в Windows® Проводник. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по VarArgCSApp.csproj и выбора Open Outside MATLAB.
Visual Basic
Если вы используете Visual Basic, VarArgVBApp папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по VarArgVBApp.vbproj в Windows Explorer. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по VarArgVBApp.vbproj и выбора Open Outside MATLAB.
Создайте ссылку на свой файл блока VarArgComp.dll расположенный в папке, где вы сгенерировали или установили блок.
Создайте ссылку на MWArray API.
| Если MATLAB установлен в вашей системе | |
| Если MATLAB Runtime установлен в вашей системе | |
Создайте и запустите VarArgApp приложение в Visual Studio.NET.
Программа отображает следующий вывод:
result=
1 2
2 4
3 6
4 8
5 10

libraryCompiler | compiler.build.dotNETAssembly | deploytool