В этом примере показано, как вызвать MATLAB® метод, который генерирует магический квадрат на Java® приложение.
Местоположение функции MATLAB |
|
Участок кода Java |
|
Скопируйте MagicSquareExample
папка, которая поставляется с MATLAB к вашей папке работы:
copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','MagicSquareExample'))
В командной строке MATLAB перейдите к новому MagicSquareExample\MagicDemoComp
подпапка в вашей папке работы.
Исследуйте makesqr.m
функция.
function y = makesqr(x)
y = magic(x);
disp(y);
В командной строке MATLAB введите makesqr(5)
.
Выход является матрицей 5 на 5.
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
Создайте пакет Java, который инкапсулирует makesqr.m
при помощи приложения Library Compiler или compiler.build.javaPackage
.
Используйте следующую информацию для своего проекта:
PackageName | magicsquare |
ClassName | magic |
Файл, чтобы скомпилировать | makesqr.m |
Например, если вы используете compiler.build.javaPackage
Ввод:
buildResults = compiler.build.javaPackage('makesqr.m', ... 'PackageName','magicsquare', ... 'ClassName','magic');
Для получения дополнительной информации смотрите, что инструкции в Генерируют приложение Java Пакета и Сборки Java.
Запишите исходный код для приложения Java, это получает доступ к функции MATLAB.
Пример приложения для этого примера находится в MagicSquareExample\MagicDemoJavaApp\getmagic.java
.
Программа делает следующее:
Создает MWNumericArray
массив, чтобы сохранить входные данные
Инстанцирует magic
объект
Вызывает makesqr
метод, где первый параметр задает количество выходных аргументов и следующих параметров, передается функции в порядке как входные параметры
Использует try
- catch
блокируйтесь, чтобы обработать исключения
Освобождает нативные ресурсы с помощью MWArray
методы
В MATLAB перейдите к MagicDemoJavaApp
папка.
Скопируйте сгенерированный magicsquare.jar
пакет в эту папку.
Если вы использовали compiler.build.javaPackage
Ввод:
copyfile(fullfile('..','MagicDemoComp','magicsquarejavaPackage','magisquare.jar'))
Если вы использовали Library Compiler, введите:
copyfile(fullfile('..','MagicDemoComp','magicsquare','for_testing','magicsquare.jar'))
В системном командном окне перейдите к PlotDemoJavaApp
папка.
Скомпилируйте использование приложения Java javac
.
На Windows®, выполните эту команду:
javac -classpath "matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\magicsquare.jar getmagic.java
На UNIX®, выполните эту команду:
javac -classpath "matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./magicsquare.jar getmagic.java
Замените
с путем к вашему MATLAB или папке установки MATLAB Runtime. Например, на Windows, путем может быть matlabroot
C:\Program Files\MATLAB\R2021b
.
Для получения дополнительной информации смотрите, Скомпилировали и запустили MATLAB Сгенерированное приложение Java.
От системной командной строки, запущенной приложение.
На Windows введите:
java -classpath .;"matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar getmagic 5
На UNIX введите:
java -classpath .:"matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar getmagic 5
Приложение выводит магический квадрат 5 на 5 в командном окне.
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
Следовать этому примеру:
Попытайтесь запустить сгенерированное приложение на различном компьютере.
Попытайтесь создать инсталлятор для использования пакета compiler.package.installer
.
Попытайтесь интегрировать пакет, который состоит из нескольких функций.
libraryCompiler
| compiler.build.javaPackage
| compiler.package.installer
| mcc
| deploytool