MATLAB関数から戻り値を取得する方法

MATLAB関数から戻り値を取得する方法

Bashスクリプトを使用してMATLAB関数を呼び出しています。

matlab -nodesktop -nosplash -nodisplay -r "matlabfunction input1 input2; quit"

その戻り値に基づいて他のルーチンを実行し続けるために、matlab関数から1桁の戻り値を取得しようとしています。

答え1

quitmatlabを使用または終了できますexitexit終了コードを指定できることを除いて、基本的に同じです。終了コードを乱用したい場合は、次のようにします。

matlab -nodesktop -nosplash -nodisplay -r "exit(times(2, 7));" > /dev/null; echo $?

これを行う予定の場合は、bashがゼロ以外の終了コードで問題を引き起こす可能性があり、関数が終了が処理できるエラーコードを返すことを確認するためにいくつかのエラー処理が必要になることに注意してください。

別のオプションは、matlabの出力をキャプチャしてから、必要なものを解析することです。

matlab -nodesktop -nosplash -nodisplay -r "format compact; Answer=times(2, 7), exit" | sed -ne '/Answer =/{n;p}' | sed -e 's/ *//g'

関連情報