"main()"メソッドを持つJavaクラスmatlabSMACがあります。Matlabから "main" Javaメソッドを呼び出して終了を待っています
このメソッドをMatlabから呼び出したいとします。しかし、私がそうするたびに、matlabスクリプトは実行を続け、main()メソッドが実行を終了するのを待たない。私は質問残念ながら同じ結果
matlabSMAC.main(args)
javaMethod('main','matlabSMAC',args)
javaMethodMT('main','matlabSMAC',args)
で、いくつかの方法でメソッドを呼び出そうとしています
: が行われるメソッドの実行を待つためにMATLABを強制する方法はありますスクリプトの実行を終了/終了/継続する前に?
ドキュメントの次のページの最後にこれに関する小さなコメントがあります。しかし、それはすべてのソリューションを指していません。
https://de.mathworks.com/help/matlab/matlab_external/invoking-methods-on-java-objects.html
ありがとうございました!
これは良い考えのようです。ただし、MATLABオブジェクトでのみ動作します。カスタムJavaオブジェクトの代替手段があるかどうか知っていますか? –
メソッドを使用する別の方法は、メソッドの実行可能なバージョンを作成し、[dos(java "yourProgram"](https://nl.mathworks.com/help/matlab/ref/dos.html?searchHighlight)で呼び出すことです。 =ドス&s_tid = doc_srchtitle)。ドス()はあまりにも終了ステータスを返します。あなたは、MATLABスクリプトで前方またはない処理するかどうかを確認するには、exitステータスを使用することができます。 – hsuyaa
はどちらか動作していない。私はまた、java.lang.runtime.getruntimeを試してみました().exec(...)を実行して、出力が空になるまでInputStreamをチェックしてください....失敗しました これをコンピューティングクラスタで実行しようとしています。しかし、これをバッチモードで実行すると、トラブルが発生し、私の頭を傷つけるだけです。 –