主要内容

重定向马铃薯命令窗口输出到java.

输出到马铃薯命令窗口

马铃薯®显示错误消息和来自Matlab命令窗口中未终止的函数的函数的输出。您可以将此输出重定向到Java®用一个java.io.stringWriter.。这Matlabengine.Feval.Fevalasync.求解, 和evalasync.方法支持使用输出金宝app流重定向MATLAB输出。

重定向马铃薯输出

matlab.谁是命令显示有关MATLAB命令窗口中当前工作区变量的信息。用一个StringWriter.将此输出物流在Java中。

导入com.mathworks.eengine。*;导入java.io. *;公共类RedirectOutput {公共静态void main(String [] args)抛出异常{matlabengine引擎= matlabengine.startmatlab();//评估创建变量eng.evalasync的表达式(“[x,y] = meshgrid(-2:.2:2);”);eng.evalasync(“z = x. * exp(-x。^ 2  -  y. ^ 2);”);//获取WhOS命令StringWriter Writer = New StringWriter()的输出;Eng.eval(“Whos”,Writer,Null);system.out.println(writer.tostring());作家.Close();eng.Close(); } }

重定向马铃薯错误消息到java.

此示例代码尝试评估具有语法错误的MATLAB语句(不平衡单引号)。在MATLAB中输入此语句会导致错误:

DISP('你好'')

MATLAB在“命令”窗口中返回此错误消息:

disp('hello'')↑错误:字符向量未正确终止。

要将此错误消息重定向到Java,请使用aStringWriter.与之求解方法。赶上matlatsyntaxexception.错误抛出的异常,并将Matlab错误消息写入Java。

导入com.mathworks.eengine。*;导入java.io. *;公共类javaredirectoutout {public静态void main(string [] args)抛出异常{matlabengine引擎= matlabengine.startmatlab();StringWriter Writer = new StringWriter();尝试{eng.eval(“disp('hello'')”,null,writer);} catch(matlabsyntaxexception e){system.out.println(“重定向到java的错误:”);system.out.println(writer.tostring());} writer.close();eng.Close();}}

相关话题