一些matlab.®功能接受A.塑造
名称值对作为输入参数。用于Java的Matlab引擎API®提供com.mathworks.matlab.eengine.struct.struct.
类以在Java中创建此数据结构并将其传递给Matlab,它将转换为Matlab塑造
。
一些Matlab函数接受塑造
输入需要字段值是MATLAB字符向量(char
)而不是matlab字符串(细绳
)。创建Java塑造
使用正确类型的值,转换为细绳
到char
将变量传递给MATLAB之前的数组。
你可以使用Tochararray.
转换方法:
char [] on =“开启”.techararray();char [] yout =“yout”.techararray();char [] tout =“tout”.techararray();struct simparam = new struct(“saveoutput”,on,“outputsavename”,yout,“saveTime”,on,“timeavename”,tout);
当MATLAB功能需要时char
输入,您可以转换Java细绳
在函数调用中传递给MATLAB。例如,matlab求解
功能需要char
输入:
双重结果= Engine.feval(“eval”,“3 + 5”);用于输入参数的未定义函数'eval'。。
通过A.char
数组正常工作。
双结果= Engine.feval(“eval”,“3 + 5”.teCharArray());
您可以使用对象的句柄设置MATLAB图形对象属性的值。将属性名称和属性值传递为Javachar
传递给Matlab函数时数组。
double [] [] data = {{1.0,2.0,3.0},{-1.0,-2.0,-3.0}};swerceObject [] h = eng.feval(“plot”,(对象)数据);string属性=(“hittest”);字符串值=(“关闭”);eng.feval(0,“set”,h,property.toCharArray(),value.toCharArray());
一些matlab功能,如SQRT.
限制输入双倍的
或者单身的
精度值。Matlab引擎将Java Integers转换为MatlabINT32.
价值观。对于不接受整数值的MATLAB函数,请确保通过适当的数值。
双重结果= Engine.Feval(“SQRT”,4);用于输入参数的未定义函数'sqrt'类型'int32'的输入参数。
正确通过双重工作。
双重结果= Engine.Feval(“SQRT”,4.0);