这个例子展示了如何调用MATLAB®Java中生成的方法®应用程序。
要创建一个调用MATLAB生成方法的Java应用程序:
安装MATLAB运行时并以下列方式之一生成JAR文件:
运行由MATLAB生成的安装程序。它可能位于for_redistribution
部署项目的文件夹。
这样做会自动安装MATLAB运行时并将生成的JAR文件放到计算机上。
手动安装MATLAB运行时以及生成的JAR文件到您的开发系统上。
生成的JAR文件位于MATLAB部署项目中for_testing
文件夹中。有关下载和安装的说明MATLAB运行时,请参阅安装和配置MATLAB运行时.
在包含生成的JAR文件的文件夹中,创建一个名为getmagic.java
.
使用文本编辑器,打开getmagic.java
.
将以下内容作为文件的第一行。
进口com.mathworks.toolbox.javabuilder。*;
该语句导入MATLAB支持类。金宝app
将下面的行放在第一个import语句之后。
进口makesqr。*;
该语句导入编译器生成的类。
添加以下类定义。
getmagic {}
这个类有一个main方法来调用生成的类。
添加main ()
方法到应用程序。
public static void main(String[] args) {}
将下面的代码添加到main ()
方法。
MWNumericArray n = null;对象[]result = null;Class1 theMagic = null;
这将初始化应用程序使用的变量。
n是MATLABMWNumericArray
类,MATLAB用于其内部数据格式。
结果是一个通用的Java对象,它保存调用MATLAB的结果。
theMagic是由MATLAB函数生成的实例类。
在变量初始化之后添加以下代码。
如果(arg游戏。{System.out. length == 0);println("错误:必须输入一个正整数");返回;}
这是一个简单的检查,以确保所需的命令行参数已传递给应用程序。
在参数检查之后添加try/catch/finally块。
在试一试
部分的try/catch/finally块,添加以下代码。
n = new MWNumericArray(Double.valueOf(args[0]), MWClassID.DOUBLE);
代码实例化的实例MWNumericArray
并使用包含在命令行上传递给应用程序的整数的1 × 1数组填充它。将值转换为双
因为这是Java和MATLAB内部数据表示之间最直接的映射。
在实例化输入参数的代码之后,添加以下代码实例化MATLAB生成的类。
theMagic = new Class1();
生成类的构造函数处理启动所需的所有设置MATLAB运行时并用所需的MATLAB代码填充它。
使用新实例化的对象,调用MATLAB函数。
结果= theMagic。makesqr (1, n);System.out.println(结果[0]);
添加以下抓
部分的try/catch/finally块来处理可能抛出的任何异常。
catch(异常e) {System.out. catch(异常e);println("Exception: " + e.toString());}
添加以下最后
部分的try/catch/finally块来清理任何资源。
最后{MWArray.disposeArray (n);MWArray.disposeArray(结果);theMagic.dispose ();}
的disposeArray ()
和处理()
方法清理生成的MATLAB代码所使用的资源。
保存Java文件。
完成的Java文件应该如下所示。
进口com.mathworks.toolbox.javabuilder。*;进口makesqr。*;类getmagic {public static void main(String[] args) {MWNumericArray n = null;对象[]result = null;Class1 theMagic = null;如果(arg游戏。{System.out. length == 0);println("错误:必须输入一个正整数");返回;} try {n = new MWNumericArray(Double.valueOf(args[0]), MWClassID.DOUBLE); theMagic = new Class1(); result = theMagic.makesqr(1, n); System.out.println(result[0]); } catch (Exception e) { System.out.println("Exception: " + e.toString()); } finally { MWArray.disposeArray(n); MWArray.disposeArray(result); theMagic.dispose(); } } }
使用系统命令行导航到安装生成的Java包并保存新Java文件的文件夹。
使用javac
.
javac类路径”< MATLAB_RUNTIME_INSTALL_DIR >jar \ \工具箱\ javabuilder \ javabuilder.jar”;\ \ getmagic.java makesqr.jar。
请注意
进入javac
命令行。
在UNIX®平台,使用冒号(:
)作为类路径分隔符,而不是分号(;
).
< MATLAB_RUNTIME_INSTALL_DIR >
这条路通向哪里MATLAB运行时已安装在您的系统上。如果您在系统上安装了MATLAB,则可以使用MATLAB安装路径。
从系统的命令提示符中运行应用程序。
java类路径。”< MATLAB_RUNTIME_INSTALL_DIR >jar \ \工具箱\ javabuilder \ javabuilder.jar”;.\make qr.jar getmagic 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无法加载该类。
请注意
进入java
命令行。
在UNIX平台上,使用冒号(:
)作为类路径分隔符,而不是分号(;
).
< MATLAB_RUNTIME_INSTALL_DIR >
这条路通向哪里MATLAB运行时已安装在您的系统上。如果您在系统上安装了MATLAB,则可以使用MATLAB安装路径。
继续这个例子:
尝试在另一台计算机上安装新的应用程序。
尝试为应用程序构建安装程序。
尝试集成一个包含多个功能的包。