2012-01-24 14 views
5

私はファイルを取り込むmatlabファイルを持っています。私はprogのようなmatlabシェルでそのプログラムを実行したいと思います。 "prog filename.txt 1 2のように、プログラムで変数としてfilename.txtと1 2を使うことができるという意味の引数を取るように実装する必要があります。引数を使ってmatlabプログラムを実行する

ありがとう!

+1

何を試しましたか?これまでに何を持っていますか?答えを使って質問を編集してください。 –

+0

可能な複製[コマンドライン引数をlinux/unix上で動作するスタンドアロンのMATLAB実行可能ファイルに渡す方法は?](http://stackoverflow.com/questions/3335505/how-can-i-pass-command-line-arguments) -to-a-standalone-matlab-executable-running) – gnovice

答えて

12

スクリプトは、コマンドラインから引数を受け取るようにするためには、まず最初の行として

function []=prog(arg1, arg2) 
を入れて、あなたのスクリプトが prog.mの名前、すなわちならば、あなたがしたい引数を取得する関数にそれを回す必要があります

と末尾にendを追加します(ファイルには1つの関数しかないものとします)。非常に関数をファイルと同じ名前で呼び出すことが重要です。

次に、スクリプトファイルがスクリプトを呼び出す場所と同じ場所にあること、またはMatlabの作業パスにあることを確認する必要があることです。そうしないと、スクリプトファイルが認識されませんスクリプト。

最後に、スクリプトを実行するためには、MATLAB内部から

prog(arg1,arg2) 

を呼び出すことと同じです

matlab -r "prog arg1 arg2" 

を使用しています。

* - WindowsおよびLinux環境でテスト済み

+0

たとえば、 'load'のように動作するスクリプト(' script.m'として保存されている)を書くことができるのだろうか、それでMATLABコンソールで'スクリプトの引数' – ziyuang

関連する問題