2012-09-16 62 views
1

我想从我的java文件中调用eig(),并且我想要在我的文件中返回结果,但是我找不到任何示例。我发现一个例子在链接:从java调用matlab的函数

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

但开方的例子显示了在MATLAB的错误:使用开方 太多的输出参数

错误。

如何我可以从java调用eig()并将包V,D矩阵? 任何帮助它会非常有用。谢谢

+1

为什么不使用Java矩阵数学库? – Lalaland

+0

有什么图书馆有特征值和特征向量? – TheodoraXasa

+0

有几十个关于“线性代数”的搜索。 – bdecaf

回答

0

检查出​​,它允许你从matlab代码创建Java类。

0

如果您阅读了粘贴链接中的评论部分,您会发现代码示例中存在错误。输出参数的数目设置为5而不是1. MATLAB抱怨是因为MATLAB sqrt函数返回1个参数(因此输出参数错误太多)。

因为MATLAB函数可以返回多个参数,所以调用约定要求您指定返回给调用代码的数字,并且正确执行。

+0

是的,我表明,但我不知道如何我可以调用eig()。你知道我能做到吗? – TheodoraXasa

2

matlabcontrol是一个Java API,它可以让你从Java调用MATLAB。您可以从MATLAB内部或从MATLAB外部调用MATLAB,在这种情况下,启动并连接MATLAB的一个实例。它允许在MATLAB中调用eval和feval并将结果返回给MATLAB。 walkthrough用示例解释如何做到这一点。该演练详细说明了如何为您指定正确数量的返回参数以获得您所需的行为。