Wolfram mathematica 在开始学习Mathematica之前,有什么方法可以清除所有的内容吗?

Wolfram mathematica 在开始学习Mathematica之前,有什么方法可以清除所有的内容吗?,wolfram-mathematica,Wolfram Mathematica,在MATLAB中,有一个清除所有当前变量的函数。这是非常有用的,如果你开始一个全新的东西,不想得到与以前的计算冲突。我现在正在为Mathematica搜索类似的内容,但除了Clear[VAR]之外,我找不到任何东西。Clear[VAR]只删除变量VAR。您可以使用ClearAll在全局上下文(默认)中清除变量及其属性,如下所示: 如果您在不同的上下文中工作(例如,特定于笔记本电脑的上下文或特定于单元组的上下文),您可以这样做 ClearAll[Evaluate[Context[] <>

在MATLAB中,有一个清除所有当前变量的函数。这是非常有用的,如果你开始一个全新的东西,不想得到与以前的计算冲突。我现在正在为Mathematica搜索类似的内容,但除了Clear[VAR]之外,我找不到任何东西。Clear[VAR]只删除变量VAR。

您可以使用
ClearAll
全局
上下文(默认)中清除变量及其属性,如下所示:

如果您在不同的上下文中工作(例如,特定于笔记本电脑的上下文或特定于单元组的上下文),您可以这样做

ClearAll[Evaluate[Context[] <> "*"]]
ClearAll[评估[上下文[]“*”]]
如果要从内核中删除所有符号,以便Mathematica不再识别它们,可以使用与上述两个示例类似的
remove[]


除此之外,您始终可以使用
quit[]
退出内核,这将删除所有符号。下次评估某些内容时,将启动新内核。

我推荐两种方法之一:

1.退出内核的快捷键[] 有一个系统文件
KeyEventTranslations.tr
,您可以编辑该文件以自定义键盘快捷键。一、 与其他人一样,他们将Ctrl+Q添加到
Quit[]
内核中,允许快速清除所有会话变量。有关设置此设置的详细信息,请参阅:

2.给新笔记本一个独特的上下文 在Mathematica中,当前的
$Context
定义了非限定符号名所属的名称。通过给一个新笔记本一个独特的上下文,这很容易通过
评估
菜单完成,该笔记本中使用的符号不会与其他笔记本中不合格的符号发生冲突。有关详细信息,请参见以下问题:


我刚刚意识到,您可能不知道Mathematica与MATLAB不同,它被设计为作为两个独立的进程运行:前端是用户界面,让您可以使用笔记本电脑。内核执行计算。您可以在不影响前端的情况下退出内核,甚至可以为不同的笔记本电脑启动多个内核,或者在远程计算机上启动一个内核并与本地前端一起使用


我相信清理一切的唯一可靠方法是退出内核并重新启动它(这是自动的)。除了用户变量/函数(包括
In
/
Out
、加载的包、系统缓存等),还有太多东西可以修改。因此,如果你需要一个全新的开始,我建议你退出


对于“软”重置,@yoda已经提到了
ClearAll[“Global`*]”
。有这样一个问题:
那么,通过退出(重新启动)内核,前端本身可能会在它自己的小空间中记住一些东西,这些东西不会通过重新启动内核而被删除/清除吗?我还使用这种方法重新启动内核,每次当我真的想确保事情得到清理。但我总是想知道前端是否还记得一些东西。“当我真的想确定的时候,我只是重新启动Mathematica本身。”据我所知,纳赛尔,严格地说前端不会记住任何东西。但是,您可能有一个打开了动态内容的笔记本,一旦该内容进入视图,它就会导致前端重新启动内核,并评估要评估的动态对象中定义的任何内容。令人困惑的是,这种情况只有在动态事物进入视野时才会发生,因此如果你不知道发生了什么,它可能看起来有点“不确定”。我自己并不是为了有一个干净的会话而重启前端的。你能在这里总结一下这两种方法吗?一般来说,仅仅链接到现有的帖子并不好。如果这些答案确实是正确的,那么我们应该将其作为副本关闭。@yoda我对正确答案的理解与你自己的不同。我不想重复现有的答案,我也没有链接到外部来源,而是自己。此外,我不认为这是一个重复的问题,不应该就此结束。如果我把这些问题和具体的答案联系起来,会不会更好?如果您觉得我的理解需要更正,请解释原因。+1-我也赞成这个答案,因为这是StackOverflow喜欢收到的答案类型的一个很好的例子(良好的语法、格式、内容和支持答案的参考)。干得好!
ClearAll[Evaluate[Context[] <> "*"]]