Цель этих примеров - выделить основные шаги, необходимые для интеграции функции MATLAB ®.
drawgraph функция отображает график входных параметров x и y. Цель примера - показать, как:
Используйте продукт MATLAB Compiler SDK™ для преобразования функции MATLAB (drawgraph) методу класса .NET (Plotter) и обернуть класс в сборку .NET (PlotComp).
Вызовите компонент в приложении C # (PlotApp.cs) путем создания экземпляра Plotter класс и использование MWArray библиотека классов для обработки преобразования данных.
Примечание
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MATLAB MWArray, доступный в папка, где matlabroot\help\dotnetbuilder\MWArrayAPImatlabroot представляет папку установки MATLAB
Построить и запустить PlotCSApp с помощью среды разработки Visual Studio ® .NET.
Если это еще не сделано, скопируйте файлы для этого примера следующим образом:
Скопируйте следующую папку, поставляемую с продуктом MATLAB, в рабочую папку:
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\PlotExample
В командной строке MATLAB измените папку на новую PlotExample\PlotComp вложенной папки в рабочей папке.
Напишите drawgraph как и любая функция MATLAB.
Этот код уже находится в вашей рабочей папке в PlotExample\PlotComp\drawgraph.m.
В галерее приложений MATLAB откройте приложение Компилятор библиотеки.
Создайте компонент .NET. Дополнительные сведения см. в разделах Создание сборки .NET и Создание приложения .NET. Используйте следующую информацию:
| Название проекта | PlotComp |
| Имя класса | Plotter |
| Файл для компиляции | drawgraph.m |
Запись исходного кода для приложения C #, которое обращается к компоненту.
Пример приложения для этого примера находится в .matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\PlotExample
\PlotCSApp\PlotApp.cs
Список программ показан здесь.
Программа выполняет следующие действия:
Создание двух массивов двойных значений
Создает Plotter объект.
Вызывает drawgraph метод построения графика уравнения с использованием MATLAB plot функция.
Использование 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 > Открыть вне 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 функция принимает структурный массив в качестве входных данных, изменяет его и выдает измененный массив в качестве выходных данных.
Примечание
Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MATLAB MWArray, доступный в папка, где 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 откройте приложение Компилятор библиотеки.
Создайте компонент .NET. Дополнительные сведения см. в разделах Создание сборки .NET и Создание приложения .NET. Используйте следующую информацию:
| Название проекта | PhoneBookComp |
| Имя класса | 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);
ПостроитьPhoneBookCSApp с помощью Visual Studio .NET.
PhoneBookCSApp содержит файл проекта Visual Studio .NET для этого примера. Откройте проект в Visual Studio .NET, дважды щелкнув PhoneBookCSApp.csproj в Проводнике Windows. Его также можно открыть с рабочего стола, щелкнув правой кнопкой мыши по команде «» («(» «)» («») «(» «)» («») «(» «)» («»).
Добавление ссылки на 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