1

我想控制 Mathematica 中评估的深度。例如,考虑以下简单代码:

y := 3.x
z := 4.y
v := 5.z

现在,有时当我输入 v 时,我希望 Mathematica 用它的值替换 z,而不是用它的值替换 y(即 v = 20 y 而不是 v = 60 x)。有时我希望 Mathematica 替换所有变量。我一直在使用 Mathematica 中的不同功能(例如 Hold),但我能找到的唯一方法是使用分配规则(即 y-> 3x 等)。有没有更简单/更好的方法来做到这一点?我一直在寻找我相当简单的问题的答案,但找不到任何东西。

4

1 回答 1

0

一个简单的方法是定义函数:

y[x_] := 3. x
z[y_] := 4. y
v[z_] := 5. z

v[z[y]]
(* 20. y *)

v[z[y[x]]]
(* 60. x *)
于 2012-11-06T13:29:11.217 回答