主要内容

通过变量JavaMATLAB

传递变量的方法

你可以通过Java®变量以MATLAB®使用这些方法:

  • 的调用中将变量作为函数参数传递MatlabEngine函数宏指令fevalAsync方法。作为参数传递给函数调用的变量不存储在MATLAB基本工作空间中。

  • 将变量放入MATLAB基础工作空间中MatlabEngineputVairableputVariableAsync方法。

有关类型转换的信息,请参见Java数据类型转换

通过函数参数

这个示例代码通过一个多项式的系数, x 2 x 6 ,到MATLAB函数。

  • 定义双数组p作为MATLAB的参数传递函数。

  • 定义双数组r以接受返回值。

进口com.mathworks.engine。*;public class javaPassArg{public static void main(String[] args) throws Exception{MatlabEngine eng = MatlabEngine. startmatlab ();Double [] p = {1.0, -1.0, -6.0};Double [] r = eng。函数宏指令("roots", p); for (double e: r) { System.out.println(e); } eng.close(); } }

将变量放入MATLAB工作空间

下面的示例代码将变量放入MATLAB工作空间,并将这些变量作为MATLAB调用中的参数复杂的函数。MATLAB命令列出工作区变量。

进口com.mathworks.engine。*;进口java.util.Arrays;public class javaPutVar {public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. startmatlab ();eng。putVariable("x", 7.0); eng.putVariable("y", 3.0); eng.eval("z = complex(x, y);"); String[] w = eng.feval("who"); System.out.println("MATLAB workspace variables " + Arrays.toString(w)); eng.close(); } }

相关的话题