从java调用matlab函数

时间:2012-09-16 16:34:02

标签: java matlab

我想从我的java文件中调用eig(),我希望在我的文件中返回该结果,但我找不到任何示例。我在该链接中找到了一个例子:

http://www.devsrealm.com/java/calling-matlab-from-java/#comment-335

但是sqrt的示例在matlab中显示错误:

使用sqrt时出错 输出参数太多。

我如何从java调用eig()并获取包V,D矩阵? 任何帮助都会非常有用。感谢

3 个答案:

答案 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函数可以返回多个参数,所以调用约定要求您指定返回给调用代码的数字,并正确执行。