我想从我的java文件中调用eig(),我希望在我的文件中返回该结果,但我找不到任何示例。我在该链接中找到了一个例子:
http://www.devsrealm.com/java/calling-matlab-from-java/#comment-335
但是sqrt的示例在matlab中显示错误:
使用sqrt时出错 输出参数太多。
我如何从java调用eig()并获取包V,D矩阵? 任何帮助都会非常有用。感谢
答案 0 :(得分:2)
matlabcontrol是一个Java API,允许您从Java调用MATLAB。您可以在MATLAB中或从MATLAB外部调用MATLAB,在这种情况下启动并连接MATLAB实例。它允许在MATLAB中调用eval和feval并将结果返回给MATLAB。 walkthrough通过示例解释了如何执行此操作。本演练详细说明了如何指定正确数量的返回参数,以便您获得所需的行为。
答案 1 :(得分:0)
查看Java Builder,它允许您从matlab代码创建Java类。
答案 2 :(得分:0)
如果您阅读了粘贴链接中的评论部分,您会发现代码示例中存在错误。输出参数的数量设置为5而不是1. MATLAB抱怨,因为MATLAB sqrt函数返回1个参数(因此输出参数错误太多)。
因为MATLAB函数可以返回多个参数,所以调用约定要求您指定返回给调用代码的数字,并正确执行。