4

私は、一連の画像をキャプチャし、MATLABでそれらの画像を処理する医療用ロボットプロジェクトに取り組んでいます。他にも多くのことをMATLABの外部で実行する必要があるため、全体的な制御に別の言語を使用し、コンソールコマンドを使用して他の部分をトリガーしています。

画像が存在するディレクトリへのファイルパスを取得し、すべてのMATLAB処理を実行する単一の関数を持つ単一の.mファイルがあります。コマンドラインからこれを呼び出すにはどうすればよいですか?私はmatlab -r "function(input)"ここで他のいくつかの答えで議論されているのを見ましたが、それは私にとってはうまくいきません(私は開いた親で構文エラーを受け取ります)。より具体的には、次のようになりますmatlab: eval: line 1690: syntax error near unexpected token '('

シェルスクリプトを呼び出すことでこれを行う必要があると言う人もいますが(書き方がわかりません)、それがなくても実行できると言う人もいますが、誰かが明確にできますか?

さらに、matlab -r構文を失敗させただけだとすると、MATLABは.mファイルの場所をどのように知るのでしょうか。コマンドを実行しているディレクトリにある必要がありますか?

4

1 に答える 1

4

私はあなたが試みていると推測しています:

matlab -r test('hi')

と取得...

bash: syntax error near unexpected token `('

または同様のもの?

回答:あなたは、すなわち:" "の周りを使用する必要がありますfunction(input)

matlab -r "test('hi')"

これはtest.m、入力文字列を使用して現在のディレクトリで実行されます'hi'

runmatlabcommand.shたとえば、という名前のシェルスクリプトでこれを行うにはbash、ファイルを開いて次のように記述します。

#!/bin/bash
matlab -r "test('hi')"

次に、コマンドラインから。と入力してこのスクリプトを実行します./runmatlabcommand.sh。スクリプトを実行する前に、スクリプトに実行権限があることを確認してください;)

于 2012-12-18T06:23:56.090 に答える