В этом примере вы интегрируете MATLAB® функция на Java® приложение путем выполнения этих шагов:
Используйте продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB (drawplot.m
) к методу класса Java (plotter
) и перенесите класс в пакет Java (plotdemo
).
Доступ к функции MATLAB в приложении Java (createplot.java
) путем инстанцирования plotter
класс и использование MWArray
библиотека классов, чтобы обработать преобразование данных.
Примечание
Для полной справочной информации о MWArray
иерархия классов, смотрите com.mathworks.toolbox.javabuilder
пакет.
Создайте и запустите createplot.java
приложение.
Местоположение функции MATLAB |
|
Участок кода Java |
|
Скопируйте PlotExample
папка, которая поставляется с MATLAB к вашей папке работы:
copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','PlotExample'),'PlotExample')
В командной строке MATLAB перейдите к новому PlotExample\PlotDemoComp
подпапка в вашей папке работы.
Исследуйте drawplot.m
функция.
function drawplot(x,y)
plot(x,y);
Функция отображает график входных параметров x
и y
.
Создайте пакет Java при помощи приложения Library Compiler или compiler.build.javaPackage
использование следующей информации:
Название проекта | plotdemo |
ClassName | plotter |
Файл, чтобы скомпилировать | drawplot.m |
Например, если вы используете compiler.build.javaPackage
Ввод:
buildResults = compiler.build.javaPackage('drawplot.m', ... 'PackageName','plotdemo', ... 'ClassName','plotter');
Для получения дополнительной информации смотрите, что инструкции в Генерируют приложение Java Пакета и Сборки Java.
Запишите исходный код для приложения Java, это получает доступ к функции MATLAB.
Пример приложения для этого примера находится в PlotExample\PlotDemoJavaApp\createplot.java
.
Программа делает следующее:
Создает два массива двойных значений x
и y
использование MWNumericArray
представлять уравнение y = x2
Инстанцирует plotter
класс как thePlot
объект
thePlot = new plotter();
Вызывает drawplot
метод, чтобы построить простую параболу с помощью plot
MATLAB функция
thePlot.drawplot(x,y);
Использует try-catch
блокируйтесь, чтобы отловить и обработать любые исключения
В MATLAB перейдите к PlotDemoJavaApp
папка.
Скопируйте сгенерированный plotdemo.jar
пакет в эту папку.
Если вы использовали compiler.build.javaPackage
Ввод:
copyfile(fullfile('..','PlotDemoComp','plotdemojavaPackage','plotdemo.jar'))
Если вы использовали Library Compiler, введите:
copyfile(fullfile('..','PlotDemoComp','plotdemo','for_testing','plotdemo.jar'))
В окне командной строки перейдите к PlotDemoJavaApp
папка, где вы скопировали plotdemo.jar
.
Скомпилируйте createplot
приложение с помощью javac
.
На Windows®, выполните эту команду:
javac -classpath "matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\plotdemo.jar createplot.java
На UNIX®, выполните эту команду:
javac -classpath "matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./plotdemo.jar createplot.java
Замените
с путем к вашему MATLAB или папке установки MATLAB Runtime. Например, на Windows, путем может быть matlabroot
C:\Program Files\MATLAB\R2021b
.
Запустите createplot
приложение.
На Windows введите:
java -classpath .;"matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\plotdemo.jar createplot
На UNIX введите:
java -classpath .:"matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./plotdemo.jar createplot
createplot
программа отображает следующий вывод.
libraryCompiler
| compiler.build.javaPackage