Mathematica 9 is now available

2.4.9 保留已有值的函数

:= 定义的函数中,调用时函数的值就会被反复计算. 但在一些计算中,需要将同一组函数值使用多次,这时就可以让 Mathematica 记住这些函数值以节省时间. 接下来就给出定义这种函数的方法.

定义保存已有值的函数

定义一个函数,它保存所有已得到的值

此处给出f递推结束的条件

f 已有的定义

f[5] 时需要计算 f[5]f[4]CenterEllipsisf[2]]

到此为止的 f 值全部保存着

此时再求 f[5] 时,Mathematica 可立即找出,不需要重新计算

f[x_] := f[x] = f[x-1] + f[x-2] 使用过程如下:当调用 f 时,先计算 f[x-1]+f[x-2],再将结果保存到 f[x] 中.
在进行递推运算时,使用能保存已有值的函数是一个好方法.递推的一个典型 情况是函数 f 在整数 x 的值通过它在  , x-2 等值给出,Fibonacci 函数  就是这样的一种递推,在计算 f(10) 等时,需反复递推, 如需要反复计算 f(5) 多次,故此时记住 f(5) 的值下次直接找出就比反复计算要好.
在记住了一些函数值时,查找就比计算快,但这需要占用内存, 通常当重复计算的代价很大时保存函数值,且需要保存的函数不宜太多.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.