Цель этих примеров состоит в том, чтобы подсветить основные шаги, требуемые для интеграции функции MATLAB®.
Функция drawgraph отображает график входных параметров x и y. Цель примера состоит в том, чтобы показать вам как:
Используйте продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB (drawgraph) в метод класса.NET (Plotter) и перенести класс в блок.NET (PlotComp).
Доступ к компоненту в приложении C# (PlotApp.cs) путем инстанцирования класса Plotter и использования библиотеки классов MWArray, чтобы обработать преобразование данных.
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в папке , где matlabroot\help\dotnetbuilder\MWArrayAPImatlabroot представляет вашу папку установки 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\MWArrayAPImatlabroot представляет вашу папку установки 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