可能重复:
Mathematica: How to clear the cache for a symbol, i.e. Unset pattern-free DownValues
这个link显示了一种加速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的值。感谢您的阅读