Цель этих примеров состоит в том, чтобы подсветить основные шаги, требуемые для интеграции функции MATLAB®.
Функция drawgraph
отображает график входных параметров x
и y
. Цель примера состоит в том, чтобы показать вам как:
Используйте продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB (drawgraph
) в метод класса.NET (Plotter
) и перенести класс в блок.NET (PlotComp
).
Доступ к компоненту в приложении C# (PlotApp.cs
) путем инстанцирования класса Plotter
и использования библиотеки классов MWArray
, чтобы обработать преобразование данных.
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в папке
, где matlabroot\help\dotnetbuilder\MWArrayAPI
matlabroot
представляет вашу папку установки MATLAB
Создайте и запустите приложение PlotCSApp
, с помощью Визуальной среды разработки Studio®.NET.
Если вы уже не сделали так, скопируйте файлы для этого примера можно следующим образом:
Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PlotExample
В подсказке команды MATLAB измените папку на новую подпапку PlotExample\PlotComp
в вашей папке работы.
Запишите функцию drawgraph
, когда вы были бы любая функция MATLAB.
Этот код уже находится в вашей папке работы в PlotExample\PlotComp\drawgraph.m
.
Из галереи приложений MATLAB откройте приложение Library Compiler.
Создайте компонент.NET. Смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET для получения дополнительной информации. Используйте следующую информацию:
Название проекта | PlotComp |
ClassName | Plotter |
Файл, чтобы скомпилировать | drawgraph.m |
Запишите исходный код для приложения C#, это получает доступ к компоненту.
Пример приложения для этого примера находится в
.matlabroot
\toolbox\dotnetbuilder\Examples\VSVersion\PlotExample
\PlotCSApp\PlotApp.cs
Распечатку программ показывают здесь.
Программа делает следующее:
Создает два массива двойных значений
Создает объект Plotter
.
Вызывает метод drawgraph
, чтобы построить уравнение с помощью функции plot
MATLAB.
Использование MWNumericArray
, чтобы представлять данные, необходимые методу drawgraph
, чтобы построить уравнение.
Использует блок try-catch
, чтобы отловить и обработать любые исключения.
Оператор
Plotter plotter= new Plotter();
создает экземпляр класса Plotter
и оператор
plotter.drawgraph((MWNumericArray)plotValues);
явным образом бросает нативный plotValues
к MWNumericArray
и затем вызывает метод drawgraph
.
Создайте приложение PlotCSApp
с помощью Visual Studio.NET.
Папка PlotCSApp
содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PlotCSApp.csproj
в Проводнике Windows®. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PlotCSApp.csproj> Open Outside MATLAB.
Добавьте ссылку на компонент MWArray
, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.
Добавьте или, при необходимости, зафиксируйте местоположение ссылки на компонент PlotComp
, который вы создали на предыдущем шаге. (Компонент, PlotComp.dll
, находится в подпапке \PlotExample\PlotComp\x86\V2.0\Debug\distrib
вашей рабочей области.)
Создайте и запустите приложение в Visual Studio.NET.
Цель
Функция makephone
берет массив структур в качестве входа, изменяет его и предоставляет измененный массив как вывод.
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в папке
, где matlabroot\help\dotnetbuilder\MWArrayAPI
matlabroot
представляет вашу папку установки MATLAB
Если вы уже не сделали так, скопируйте файлы для этого примера можно следующим образом:
Скопируйте следующую папку, которая поставляется с MATLAB к вашей папке работы:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PhoneBookExample
В подсказке команды MATLAB, cd
к новой подпапке PhoneBookExample
в вашей папке работы.
Запишите функцию makephone
, когда вы были бы любая функция MATLAB.
Следующий код задает функцию makephone
:
function book = makephone(friends) %MAKEPHONE Add a structure to a phonebook structure % BOOK = MAKEPHONE(FRIENDS) adds a field to its input structure. % The new field EXTERNAL is based on the PHONE field of the original. % Copyright 2006-2012 The MathWorks, Inc. book = friends; for i = 1:numel(friends) numberStr = num2str(book(i).phone); book(i).external = ['(508) 555-' numberStr]; end
Этот код уже находится в вашей папке работы в PhoneBookExample\PhoneBookComp\makephone.m
.
Из галереи приложений MATLAB откройте приложение Library Compiler.
Создайте компонент.NET. Смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET для получения дополнительной информации. Используйте следующую информацию:
Название проекта | PhoneBookComp |
ClassName | PhoneBook |
Файл, чтобы скомпилировать | makephone |
Запишите исходный код для приложения, это получает доступ к компоненту.
Пример приложения для этого примера находится в
.matlabroot
\toolbox\dotnetbuilder\Examples\VSVersion\NET\
PhoneBookExample\PhoneBookCSApp\PhoneBookApp.cs
Программа задает массив структур, содержащий имена и телефонные номера, изменяет его с помощью функции MATLAB и отображает получившийся массив структур.
Распечатку программ показывают здесь.
Программа делает следующее:
Создает массив структур, с помощью MWStructArray, чтобы представлять данные о телефонной книге в качестве примера.
Инстанцирует класса Phonebook
как объекта thePhonebook
, как показано:
thePhonebook = new phonebook();
Вызывает метод makephone
, чтобы создать измененную копию структуры путем добавления дополнительного поля, как показано:
result = thePhonebook.makephone(1, friends);
Создайте thePhoneBookCSApp
приложение с помощью Visual Studio.NET.
Папка PhoneBookCSApp
содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по PhoneBookCSApp.csproj
в Windows Explorer. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по PhoneBookCSApp.csproj> Open Outside MATLAB.
Добавьте ссылку на компонент MWArray
, который является matlabroot
\toolbox\dotnetbuilder\bin\architecture\
framework_version
\mwarray.dll.
При необходимости добавьте (или зафиксируйте местоположение), ссылка на компонент PhoneBookComp
, который вы создали на предыдущем шаге. (Компонент, PhoneBookComp.dll
, находится в подпапке \PhoneBookExample\PhoneBookComp\x86\V2.0\Debug\distrib
вашей рабочей области.)
Создайте и запустите приложение в Visual Studio.NET.
Программа PhoneBookApp
должна отобразить вывод:
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