Примечание
Примеры для MATLAB® Продукт Compiler SDK™ находится в
, где matlabroot
\toolbox\dotnetbuilder\Examples\VSVersion
VS
задает версию Microsoft® Visual Studio® .NET вы используете. Можно загрузить проекты для всех примеров путем открытия следующего решения в Visual Studio:Version
matlabroot
\toolbox\dotnetbuilder\Examples\VSVersion
\DotNetExamples.sln
Простой пример Графика показывает вам, как создать блок.NET, который вызывает функцию MATLAB, чтобы отобразить график. Для примера, который использует функцию MATLAB, чтобы изменить массив структур, см. Телефонную книгу.
В следующих примерах вы выполняете эти шаги, чтобы интегрировать функцию MATLAB в приложение.NET:
Используйте продукт MATLAB Compiler SDK, чтобы преобразовать функцию MATLAB в метод класса.NET и перенести класс в блок.NET.
Доступ к компоненту или в приложении C# или в Visual Basic® приложение путем инстанцирования класса.NET и использования MWArray
библиотека классов, чтобы обработать преобразование данных.
Создайте и запустите сгенерированное приложение с помощью среды разработки Visual Studio.NET.
Проверьте, что вы удовлетворили все целевые требования.NET MATLAB Compiler SDK. Для получения дополнительной информации смотрите Целевые Требования.NET MATLAB Compiler SDK.
Проверьте, что вам установили Microsoft Visual Studio.
У конечных пользователей должна быть установка MATLAB Runtime, чтобы запустить приложение. Для получения дополнительной информации смотрите Установку и Сконфигурируйте MATLAB Runtime.
Для тестирования можно использовать установку MATLAB вместо MATLAB Runtime.
Местоположение функции MATLAB |
|
Участок кода C# |
|
Участок кода Visual Basic |
|
Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PlotExample
В командной строке MATLAB перейдите к PlotExample\PlotComp
подпапка в вашей папке работы.
Исследуйте drawgraph
функция расположена в PlotExample\PlotComp
.
function drawgraph(coords)
plot(coords(1,:), coords(2,:));
pause(5)
x = 0:0.01:10; y = sin(x); z = [x;y]; drawgraph(z)
Функциональные выходные параметры фигура, которая отображает синусоиду.
Создайте компонент.NET с приложением Library Compiler или compiler.build.dotNETAssembly
использование следующей информации:
Поле | Значение |
---|---|
Имя библиотеки | PlotComp |
ClassName | Plotter |
Файл, чтобы скомпилировать | drawgraph.m |
Например, если вы используете compiler.build.dotNETAssembly
Ввод:
buildResults = compiler.build.dotNETAssembly('drawgraph.m', ... 'AssemblyName','PlotComp', ... 'ClassName','Plotter');
Для получения дополнительной информации смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET.
Решите, используете ли вы C# или Visual Basic, чтобы получить доступ к компоненту.
C
Если вы используете C#, запишите исходный код для приложения C#, это получает доступ к компоненту.
Пример приложения для этого примера находится в PlotExample\PlotCSApp\PlotApp.cs
.
Этот оператор создает экземпляр Plotter
класс:
Plotter plotter= new Plotter();
Этот оператор явным образом бросает нативный plotValues
к MWNumericArray
и затем вызывает метод drawgraph
:
plotter.drawgraph((MWNumericArray)plotValues);
Visual Basic
Если вы используете Visual Basic, запишите исходный код для приложения Visual Basic, это получает доступ к компоненту.
Пример приложения для этого примера находится в PlotExample\PlotVBApp\PlotApp.vb
.
Этот оператор создает экземпляр Plotter
класс:
Dim plotter As Plotter = New Plotter
Этот оператор вызывает метод drawgraph
:
plotter.drawgraph(coords)
В любом случае, PlotApp
программа делает следующее:
Создает два массива двойных значений.
Создает Plotter
объект.
Вызывает drawgraph
метод, чтобы построить уравнение с помощью plot
MATLAB функция.
Использование MWNumericArray
представлять данные, необходимые drawgraph
метод, чтобы построить уравнение.
Использует try-catch
блокируйтесь, чтобы отловить и обработать любые исключения.
Откройте файл проекта.NET, который соответствует вашему языку приложения с помощью Visual Studio.
C
Если вы используете C#, PlotCSApp
папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PlotCSApp.csproj
в Windows® Проводник. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PlotCSApp.csproj и выбора Open Outside MATLAB.
Visual Basic
Если вы используете Visual Basic, PlotVBApp
папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PlotVBApp.vbproj
в Windows Explorer. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PlotVBApp.vbproj и выбора Open Outside MATLAB.
Добавьте ссылку на свой файл блока PlotComp.dll
расположенный в папке, где вы сгенерировали или установили блок.
Добавьте ссылку на MWArray
API.
Если MATLAB установлен в вашей системе |
|
Если MATLAB Runtime установлен в вашей системе |
|
Создайте и запустите PlotApp
приложение в Visual Studio.NET.
Отображения приложения следующий график:
Следовать этому примеру:
Попытайтесь запустить сгенерированное приложение на различном компьютере.
Попытайтесь создать инсталлятор для использования пакета compiler.package.installer
.
Попытайтесь интегрировать блок, который состоит из нескольких функций.
В этом примере вы создаете блок.NET, который вызывает функцию MATLAB, чтобы изменить массив структур, который содержит номера телефона.
Местоположение функции MATLAB |
|
Участок кода C# |
|
Участок кода Visual Basic |
|
Скопируйте следующую папку, которая поставляется с MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PhoneBookExample
В командной строке MATLAB перейдите к PhoneBookExample\PhoneBookComp
подпапка в вашей папке работы.
Исследуйте makephone
функция расположена в PhoneBookExample\PhoneBookComp
.
function book = makephone(friends) book = friends; for i = 1:numel(friends) numberStr = num2str(book(i).phone); book(i).external = ['(508) 555-' numberStr]; end
Протестируйте функцию в командной строке MATLAB.
friends(1).name = "Jordan Robert"; friends(1).phone = 3386; friends(2).name = "Mary Smith"; friends(2).phone = 3912; struct2table(makephone(friends))
ans = 2×3 table name phone external _______________ _____ __________________ "Jordan Robert" 3386 {'(508) 555-3386'} "Mary Smith" 3912 {'(508) 555-3912'}
Создайте компонент.NET с приложением Library Compiler или compiler.build.dotNETAssembly
использование следующей информации:
Поле | Значение |
---|---|
Имя библиотеки | PhoneBookComp |
ClassName | PhoneBook |
Файл, чтобы скомпилировать | makephone |
Например, если вы используете compiler.build.dotNETAssembly
Ввод:
buildResults = compiler.build.dotNETAssembly('makephone.m', ... 'AssemblyName','PhoneBookComp', ... 'ClassName','PhoneBook');
Для получения дополнительной информации смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET.
Решите, используете ли вы C# или Visual Basic, чтобы получить доступ к компоненту.
C
Если вы используете C#, запишите исходный код для приложения C#, это получает доступ к компоненту.
Пример приложения для этого примера находится в
PhoneBookExample\PhoneBookCSApp\PhoneBookApp.cs
.
Visual Basic
Если вы используете Visual Basic, запишите исходный код для приложения Visual Basic, это получает доступ к компоненту.
Пример приложения для этого примера находится в
\PhoneBookExample\PhoneBookVBApp\PhoneBookApp.vb
.
В любом случае, PhoneBookApp
программа делает следующее:
Создает использование массива структур MWStructArray, чтобы представлять данные о телефонной книге в качестве примера, содержащие имена и телефонные номера.
Инстанцирует Phonebook
класс как thePhonebook
объект, как показано:
thePhonebook = new phonebook();
Вызывает функцию MATLAB makephone
создать модифицированную копию структуры путем добавления дополнительного поля, как показано:
result = thePhonebook.makephone(1, friends);
Отображает получившийся массив структур.
Откройте файл проекта.NET, который соответствует вашему языку приложения с помощью Visual Studio.
C
Если вы используете C#, PhoneBookCSApp
папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PhoneBookCSApp.csproj
в Windows Explorer. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PhoneBookCSApp.csproj и выбора Open Outside MATLAB.
Visual Basic
Если вы используете Visual Basic, PhoneBookVBApp
папка содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PhoneBookVBApp.vbproj
в Windows Explorer. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PhoneBookVBApp.vbproj и выбора Open Outside MATLAB.
Создайте ссылку на свой файл блока PhoneBookComp.dll
расположенный в папке, где вы сгенерировали блок.
Создайте ссылку на MWArray
API, который расположен в:
MATLAB |
|
MATLAB Runtime |
|
Создайте и запустите PhoneBookComp
приложение в Visual Studio.NET.
Отображения приложения следующий выход:
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
libraryCompiler
| compiler.build.dotNETAssembly
| deploytool