此链接显示了一种加快 Mathematica 中递归定义的方法。
f[0]=f[1]=1
f[x_] := f[x] = f[x - 1] + f[x - 2]
现在假设我从这个定义中找到 f[5]。然后将以下值存储在内存中
?f
Global`f
f[0]=1
f[1]=1
f[2]=2
f[3]=3
f[4]=5
f[5]=8
f[x_]:=f[x]=f[x-1]+f[x-2]
现在假设对于以后的一些计算,我想f
从内存中删除缓存的值,而不是 f 的定义。这怎么能巧妙地完成。
我试过了Unset[f[n_]]
,但这会删除定义而不是缓存值。我试过Clear["_Integer"]
了,但这什么也没做。
有谁知道如何删除缓存的值f[2]
,...,f[5]
但不知道的定义f
?无需编写某种类型的循环,Unset[f[k]]
因为我事先不知道 k 的值。谢谢阅读