1

MATLAB を独学で学ぼうとしています。私が使用している本には、次のようなスクリプトの例がevalあります。

 t = [0:0.1:2]
 for k = 1:10
    outputfile = ['result',int2str(k)];
    theta = k*pi*t;
    x = sin(theta);
    y = cos(theta);
    z = x.*y.^2;
    eval(['save ',outputfile,' x y z'])
end

私の質問は、なぜコマンド' x y z'の最後に含める必要があるのですか? evalこれを含めずにこのスクリプトを実行しようとしましたが、私が知る限り、スクリプトはまったく同じように動作するように見えます (少なくとも違いは見つかりません)。

なぜこれが含まれているのか誰かが私に説明できるなら、私は大いに感謝します!

4

3 に答える 3

4

関数/コマンドへの'x y z引数です。save彼らはsaveどの変数をファイルに保存するかを指示していますoutputfile。コマンドの詳細については、MATLABのドキュメントを参照してくださいsave

save注: MATLABのドキュメントに従って、その行を関数の呼び出しに置き換えることができます。たとえば、

save(outputfile, 'x', 'y', 'z')
于 2012-04-14T20:48:42.237 に答える
2

がないx y zと、出力ファイル(.matファイル)にはワークスペース(つまりx y z theta t k ...)のすべての変数が含まれます。保存するだけの場合はx y z、を呼び出すときに指定しますsave

于 2012-04-14T20:47:33.893 に答える
0

関数「eval」を使用する理由は、eval を使用すると、result_1 result_2... という名前のリスト結果を一度に保存できるからです。つまり、増分番号の付いた ASCII ファイルにデータを保存します。詳細については、次の Web サイトを参照してください。

https://www3.nd.edu/~dtl/cheg258/notes/doc/tec1.3.html

注意: eval(['save ',outputfile,' xy z']) には文字 x の前に空白があります。

于 2015-11-17T07:36:46.380 に答える