Этот пример показывает вам, как создать приложение.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.m extractcoords.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