0

次の質問から答えを得ました。bashファイルを作成するように求められます。質問はタイトルにあります

LinuxコマンドラインからMATLAB関数を呼び出す方法は?

したがって、私は答えに示されているように、次のコードを試しました。

    b_exec=matlab
    X="localize(r,q)"
    echo ${X} > matlab_command_rq.m
    cat matlab_command_rq.m 
    ${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command_rq.m
    rm matlab_command_rq.m

答えの元のコードは

    matlab_exec=matlab
    X="${1}(${2})"
    echo ${X} > matlab_command_${2}.m
    cat matlab_command_${2}.m
    ${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command_${2}.m
    rm matlab_command_${2}.m

説明の中で、彼らは$ 1が関数であり、$2が入力であると述べました。これに対応して、関数「localize」と入力(r、q)に置き換えました

しかし、私は次のエラーが発生しました

    localize(r,q)
    ./matlab_batcher.sh: 5: ./matlab_batcher.sh: -nojvm: not found

エコーが機能しているようです。しかし、その後何が起こっているのか本当にわかりません。私を助けて、引数を使ってmatlab関数を呼び出す正しい方法を教えてください。

私は次のステートメントを使用してそれを呼び出しました

   sh ./matlab_batcher.sh localize r q
4

1 に答える 1

1

b_execに戻る必要がありますmatlab_exec、または変更する必要があります

${matlab_exec} -nojvm ...

${b_exec} -nojvm ...

いずれにせよ、一貫性を保つ必要があります。

于 2013-01-25T20:06:54.330 に答える