この方法でfit.mという matlab コードのチャンクを実行しています。
clear all;
load('/pathtomatfile/alldata.mat')
count = rxw1;
count = double(count);
x_cov = ltgbd;
alldata.mat には、関心のあるデータがいくつかあります。つまり、
rxw1
rbg2
rfd1
wop3,
ltgbd,
etc.
このようなスクリプトは、特定の対象データ (この例では count=rxw1) に対してコマンド ラインから実行できます。
matlab -nodisplay -nojvm -nosplash -r ${pathtoscript}fit -logfile lfile.txt
ただし、実行を自動化する必要があるため、matlab に count = mat ファイル内の他のデータセットを作成するように指示できます。つまり、異なるデータセットに対して並行してスクリプトを実行したいのですが、次のようなものが必要です。
matlab -nodisplay -nojvm -nosplash -r ${pathtoscript}fit -logfile lfile.txt DATAOFINTERESTHERE (i.e., rxw1 count will equal rxw1, etc.)
私が提案していることを行うことは可能ですか?スクリプトを呼び出すときに入力パラメーターとしてデータセットの名前を指定することで、選択したデータセットに対して実行するスクリプトを自動化するにはどうすればよいですか?
それができたら、LSF を介してジョブを送信することで実際にすべてを並行して実行することを計画していますが、次のようなことを念頭に置いて、対象のデータの名前を入力として指定します。
bsub -q week -R'rusage[mem=8000]' \
"matlab -nodisplay -nojvm -nosplash -r ${pathtoscript}fit -logfile lfile.txt DATAOFINTEREST"
Q が基本的すぎる場合は申し訳ありませんが、matlab コマンド ラインの実行に慣れていません。