整合简单MATLAB函数为Java应用程序
这个例子展示了如何调用MATLAB®方法,在Java中生成魔方®应用程序。
文件
MATLAB函数定位 |
|
Java代码位置 |
|
过程
复制
MagicSquareExample
与MATLAB一起发送到您的工作文件夹的文件夹:拷贝文件(fullfile (matlabroot,“工具箱”,“javabuilder”,“例子”,“MagicSquareExample”))
在MATLAB命令提示符下,导航到new
MagicSquareExample \ MagicDemoComp
工作文件夹中的子文件夹。检查
makesqr.m
函数。函数Y = makesqr(x) Y = magic(x)
在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”,“magicsquare.jar”))
如果你使用了库编译器,输入:
拷贝文件(fullfile (“. .”,“MagicDemoComp”,“magicsquare”,“for_testing”,“magicsquare.jar”))
在系统命令窗口中,导航到
PlotDemoJavaApp
文件夹中。编译Java应用程序
javac
.在Windows上®,执行以下命令:
Javac -classpath "
matlabroot
jar \ \工具箱\ javabuilder \ javabuilder.jar”;。\ magicsquare.jar getmagic.java在UNIX®,执行以下命令:
Javac -classpath "
matlabroot
/工具箱/ javabuilder / jar / javabuilder.jar”:。/ magicsquare.jar getmagic.java
取代
与路径到您的MATLAB或MATLAB运行时安装文件夹。例如,在Windows上,路径可能为matlabroot
C:\Program Files\MATLAB\R2022b
.有关详细信息,请参见编译和运行MATLAB生成的Java应用程序.
从系统命令提示符运行应用程序。
在Windows上,输入:
Java -classpath .;
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar"在UNIX上,输入:
Java -classpath:"
matlabroot
/toolbox/ javbuilder /jar/ javbuilder .jar":./magicsquare.jar
应用程序在命令窗口中输出一个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