Примечание
Примеры для MATLAB® Продукт Compiler SDK™ находится в , где matlabroot\toolbox\dotnetbuilder\Examples\VSVersionVS задает версию 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-3077libraryCompiler | compiler.build.dotNETAssembly | deploytool