2012-09-16 64 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用示例解釋如何做到這一點。該演練詳細說明了如何爲您指定正確數量的返回參數以獲得您所需的行爲。