В этом примере показано, как вызвать 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, путем может быть matlabrootC:\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