DOS プロンプトからMATLABを呼び出すことはできますか?
23 ビュー (過去 30 日間)
古いコメントを表示
MATLAB を DOS プロンプトからコールし、出力をファイルに保存する方法を教えてください。
採用された回答
MathWorks Support Team
2016 年 12 月 30 日
DOS ウィンドウから MATLAB を実行するためには、次の手順を実行してください。
1. DOSプロンプトを開きます。
2. ディレクトリを $MATLABROOT\bin に変更します。
(ここで、$MATLABROOT は MATLAB のルートディレクトリを示し、MATLB コマンドプロンプト上で次のコマンドをタイプすると表示されるディレクトリです。)
matlabroot
3. "matlab" と入力します。
$MATLABROOT\bin ディレクトリにユーザ自身のバッチファイルを作成することもできます。
注意:ユーザのバッチファイルの中に、MATLAB コールに続くその他のコマンドがある場合は、matlab.bat ではなく matlab.exe を使用してください。matlab.bat で MATLAB をコールした場合、バッチファイル内の MATLAB のコールに続くコマンドが実行されません。
バッチファイルで実行する場合、次のようにします。
1. mat.bat という名前のファイルを作成し、その中に下記の行を記述します。
win $MATLABROOT\bin\matlab.exe
2. autoexec.bat ファイルのパス(path)に、 $MATLABROOT\bin を追加します。
(ここで、$MATLABROOT は MATLAB のルートディレクトリを示し、MATLB コマンドプロンプト上で次のコマンドをタイプすると表示されるディレクトリです。)
matlabroot
これによって、DOS プロンプト上や Windows 上で、mat と入力すると、MATLAB が立ち上がります。
下記のようにすることで、DOSプロンプト上から MATLAB を起動し、セッション中の出力ファイルを保存することができます。
matlab -r matlab_filename_here -logfile c:\temp\logfile
カレントのディレクトリによっては、実行パスを指定しなければならない場合があります。
実行する MATALB ファイルは、そのディレクトリ内かパス上に置いてください。
ここでの MATLAB ファイルとは、引数を持つ関数やスクリプトファイルです。
スクリプト 'myfile.m' を実行する場合は、次のコマンドを使用します。
matlab -r myfile
2つの入力引数をもつ関数 'myfile.m' を実行する場合は、次のコマンドを使用します。
matlab -r myfile(arg1,arg2)
logfile には、MATLAB ファイルが実行している最中のコマンドウィンドウに表示されるすべてが含まれていることに注意してください。任意のプリントファイルを生成したい場合は、MATLAB ファイル内でこれを記述する必要があります。
上述のバッチの例とこの例題と組み合わせることで、入力ファイルを与え出力ファイルを作成するバッチファイルを作成することができます。
なお、これによってMATLABコマンドウィンドウの追加のインスタンスが呼び出されます。計算が完了した後に MATLAB を終了したい場合は、MATLAB ファイルの最後に 'exit' を追加してください。
スプラッシュ画面を表示させない場合は、-nosplash フラグを上記のコマンドに追加して、次のようにします。
matlab -nosplash -r mfile -logfile c:\temp\logfile
MATLAB が Windows システム上で起動した際に作成したウィンドウを表示させないようにすることはできませんが、起動コマンドに -nodesktop や -minimize オプションを付けることで、ウィンドウを背後にすることはできます。
start matlab -nosplash -nodesktop -minimize -r matlab_filename_here -logfile c:\temp\logfile
注意:バッチファイルの場合は Windows のスケジューラーからコールすることができるため、MATLAB コマンドをある指定した時間で実行させることができます。
0 件のコメント
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!