这个例子展示了如何调用MATLAB®方法在Java中生成幻方®应用程序。
MATLAB函数的位置 |
|
Java代码的位置 |
|
复制MagicSquareExample
文件夹,随MATLAB发货到您的工作文件夹:
拷贝文件(fullfile (matlabroot,“工具箱”,“javabuilder”,“例子”,“MagicSquareExample”))
在MATLAB命令提示符处,导航到新的MagicSquareExample \ MagicDemoComp
子文件夹。
检查makesqr.m
函数。
函数make qr(x) Y = magic(x);disp (y);
在MATLAB命令提示符处,输入makesqr (5)
.
输出是一个5 × 5矩阵。
17 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
创建一个封装的Java包makesqr.m
通过使用库的编译器应用程序或compiler.build.javaPackage
.
为您的项目使用以下信息:
包名 | magicsquare |
类名 | 魔法 |
文件编制 | makesqr.m |
例如,如果你正在使用compiler.build.javaPackage
类型:
buildResults = compiler.build.javaPackage (“makesqr.m”,...“PackageName”,“magicsquare”,...“名称”,“魔法”);
有关详细信息,请参阅生成Java包和构建Java应用程序.
为访问MATLAB函数的Java应用程序编写源代码。
此示例的示例应用程序位于MagicSquareExample \ MagicDemoJavaApp \ getmagic.java
.
该程序做以下工作:
创建一个MWNumericArray
数组来存储输入数据
实例化一个魔法
对象
调用makesqr
方法,其中第一个参数指定输出参数的数量,并将下列参数按输入参数的顺序传递给函数
使用一个试一试
-抓
块来处理异常
释放本地资源使用MWArray
方法
在MATLAB中,导航到MagicDemoJavaApp
文件夹中。
复制生成的magicsquare.jar
打包到这个文件夹中。
如果你使用compiler.build.javaPackage
类型:
拷贝文件(fullfile (“. .”,“MagicDemoComp”,“magicsquarejavaPackage”,“magisquare.jar”))
如果你使用库编译器,输入:
拷贝文件(fullfile (“. .”,“MagicDemoComp”,“magicsquare”,“for_testing”,“magicsquare.jar”))
在系统命令窗口中,导航到PlotDemoJavaApp
文件夹中。
使用javac
.
在Windows上®,执行以下命令:
javac类路径”matlabroot
jar \ \工具箱\ javabuilder \ javabuilder.jar”;。\ magicsquare.jar getmagic.java
在UNIX®,执行以下命令:
javac类路径”matlabroot
/工具箱/ javabuilder / jar / javabuilder.jar”:。/ magicsquare.jar getmagic.java
取代
使用MATLAB或MATLAB运行时安装文件夹。例如,在Windows上,路径可能是matlabroot
C:\Program Files\MATLAB\R2021b
.
有关详细信息,请参见编译和运行MATLAB生成的Java应用程序.
从系统命令提示符中运行应用程序。
在Windows上,类型:
java类路径。”matlabroot
jar \ \工具箱\ javabuilder \ javabuilder.jar”;。\ makesqr.jar getmagic 5
在UNIX中,类型:
java类路径。”matlabroot
/工具箱/ javabuilder / jar / javabuilder.jar”:。/ makesqr.jar getmagic 5
应用程序在命令窗口中输出一个5乘5的魔方。
17 24 18 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
|世纪挑战集团
|deploytool