你可以通过Java®变量以MATLAB®使用这些方法:
的调用中将变量作为函数参数传递MatlabEngine
函数宏指令
和fevalAsync
方法。作为参数传递给函数调用的变量不存储在MATLAB基本工作空间中。
将变量放入MATLAB基础工作空间中MatlabEngine
putVairable
和putVariableAsync
方法。
有关类型转换的信息,请参见Java数据类型转换.
这个示例代码通过一个多项式的系数,
,到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谁
命令列出工作区变量。
进口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(); } }