2017-06-02 5 views
0

シェルスクリプトの入力をMATLAB関数で実行し、出力をプリント/ストアする方法はありますか?私はエラーなしで実行されるサンプル関数とシェルスクリプトを書いたが、何の結果も得られなかった。シェルスクリプトでのMATLAB関数の実行(Mac)

私はシェルスクリプトからのために望んでいることは、その後に結果を割り当て、入力Nメートルで(「クラスタ」という名前のフォルダにあります)機能sample.mを実行することですワークスペース。私の最終的な目標は、はるかに複雑なコードをクラスターに提出することですが、まずはシェルスクリプトがどのように優れているかを理解したいと思います。

Iは、それらを生成Nメートルの値で各反復の出力を記録したいです。これを行う簡単な方法はありますか?ここで

#!/bin/bash 
for m in 1 2 3 4 
do 
for n in 1 2 3 4 
do 
    cmd=$ /Applications/MATLAB_R2016b.app/bin/matlab -nodesktop -nojvm -nodisplay -nosplash -r "try; sample $n $m; end; quit;" 
    echo $cmd 
done 
done 

端末からの結果です:

function x = sample(n,m) 
    x = 10*rand(n,m); 
end 

はここに私のシェルスクリプトです:

は、ここに私のサンプルMATLAB関数です

ssss:cluster cbruno$ bash sample.sh 

          < M A T L A B (R) > 
        Copyright 1984-2016 The MathWorks, Inc. 
        R2016b (9.1.0.441655) 64-bit (maci64) 
          September 7, 2016 


For online documentation, see http://www.mathworks.com/support 
For product information, visit www.mathworks.com. 


ssss:cluster cbruno$ 

答えて

0

として "-logfile" オプションを使用してください続く:

#!/bin/bash 
for m in 1 2 3 4 
do 
for n in 1 2 3 4 
do 
    cmd=$ /Applications/MATLAB_R2016b.app/bin/matlab -nodesktop -nojvm -nodisplay -nosplash -logfile log-$m-$n.txt -r "try; sample $n $m; end; quit;" 
    echo $cmd 
done 
done 
関連する問題