1

モジュール内のすべてのシンボルの評価を強制するにはどうすればよいですか?

vout[vin_] = Module[{x=vin,y},
    y = 200000*(1.2 - x);
    Print[y];
    y
];
Print[vout[0]];

私はこれが同じもの (240000) を 2 回出力することを期待していますが、代わりにこれを取得しています:

200000*(1.2 - vin)
240000.

モジュール内で展開された値 (240000) を取得できるようにするために、ここで何をすべきか考えていますか?

編集:Print[Evaluate[y]];この場合も機能しません

4

1 に答える 1

1

関数が毎回正しく再計算されるように、「=」ではなく「:=」と入力する必要があります。

これはうまくいきます

vout[vin_] := モジュール[{x=vin,y}, y = 200000*(1.2 - x); 印刷[y]; y ]; Print[vout[0]];

于 2012-11-09T09:50:45.510 に答える