星期一, 八月 28, 2006

Mathimatica 里notebook的环境问题。

为了解决插值问题,简单几个语句,竟然无法得出正确的结果:
data={7,2,3,25,1,10};
f = InterpolatingPolynomial[data, x];
f
f /. x -> 5

得到一个很奇怪的结果。如图。
















经过在组里询问:mathgroup@smc.vnet.net 和GroupGroup.
http://groups.google.com/group/comp.soft-sys.math.mathematica
得到BOB及其他答案,认为是Mathemathica 的kernel不"干净"需要重新启动Mathematica 再看看。
最终。使用bob的方法。
:
data={7,2,3,25,1,10};
Clear[f];
f[x_]=InterpolatingPolynomial[data,x];
f[5]

终于得到正确的答案1

而且最近 被Mathematica的变量的范围问题(Variable Scope)弄的头大,
根据手册,Module和Block申明的变量应该是在外面不可见的。
但输入函数中的变量依然可以被看见,这就导致了,循环调用函数的时候,外部的
For 循环计数器同函数内部的变量冲突了。
Damned