2009-10-22 4 views
11

私はJavaから呼び出すMATLABの.mファイルを用意しています。解決策を文字列などのJavaで取得します。これは本当にシンプルな音ですが、何らかの理由で私はそれを動作させることはできません。JavaからMATLAB関数を実行する

私はこの試みた:

matlab -nosplash -wait -nodesktop -r myFunction 

を私はMATLABは、(Windowsの場合)それ自身のコマンドラインを開いて以来、私は答えを解析かどうかはわかりません。

私はこれを使用しますが、何も返しません。

また、MATLABを呼び出すたびに、これを何度も実行したいので別のウィンドウが開きます。

+0

おそらく '-logfile'コマンドオプションは役立ちます:http://stackoverflow.com/questions/1518072/suppress-start-message-of-matlab/1518165#1518165 – Amro

答えて

7

このトリックはMatlabControlクラスhttp://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.htmlを使用することです。それは非常に使いやすく、あなたがやろうとしていることを正確に行うことができます。

+0

Jeff!ロブ!ここにお会いできてうれしいです。 –

+0

小さな世界ではないですか? –

0

JaCoB(http://sourceforge.net/projects/jacob-project/)と呼ばれる優れたJava-COM-Bridgeがあります。このブリッジを使用すると、MATLABをバックグラウンドでCOMサーバとして自動的に起動することができます。その後、Matlabヘルプの指示に従ってMatlab COMインターフェイスと対話することができます。

これは非常に汎用的なインターフェイスですが、Matlabをいくつか呼び出すのに十分な柔軟性を提供します。

JaCoBパッケージをダウンロードして、docsフォルダにいくつかのドキュメントを表示してください。 また、パスにJacob DLLを含める必要があります。

7

matlabcontrolは、Jeffが言及したMatlabControlと同じ基本的なMATLABライブラリに基づいていますが、より最新の信頼性が高く、文書化されています。開始するには、walkthroughをご覧ください。

2

JAMALはオープ​​ンソースであり、ニーズのMatlab R2016bで

+0

このリンクは機能しません。 – user1850484

2

に合ったJava RMIベース(Javaリモートメソッド呼び出しAPI)ライブラリは、MathWorks社は、JavaからMATLABコードを実行することができますMATLAB Engine API for Javaを追加しました。

関連する問題