0

可能重复:
Mathematica:如何清除符号的缓存,即 Unset pattern-free DownValues

链接显示了一种加快 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 的值。谢谢阅读

4

0 回答 0