level 4
Mathematica在计算的过程中是否会重复计算表达式的推导呢?
比如定义一个函数
f[x_,y_]:=Limit[func,z->0];
func是一个表达式,里面含有x,y,z三个变量,然后要计算f[1,2],f[2,3]等多个数值,在这种计算过程中Mathematica是否每次都要先计算函数f[x_,y_]的具体表达式,然后再将x,y的值代入进去?
这样做的效率很低,当然可以先用FullSimplisy@Limit得到一个化简的式子,然后用化简的式子作为f[x_,y_]的定义,可这样做写起来很麻烦,有木有什么好办法?
2019年01月29日 03点01分
1
level 14
是会每次先带入x、y的值再计算极限。
把:=改成=可以在一些情况下解决这种问题。
2019年01月30日 10点01分
2
吧务
level 12
f[x_,y_]:=f[x,y]=Limit[func,z->0];
这样就可以避免重复计算了
2019年01月30日 14点01分
3
谢谢吧主指点!!!
2019年01月30日 15点01分