保护工作区变量

Pet*_*one 1 security variables workspace matlab history

也许你已经过了以下情况.你正在工作,你开始一个接一个地运行一个脚本然后突然意识到你已经改变了你感兴趣的变量的值.除了备份工作区之外,还有其他方法来保护变量吗?

有没有办法在工作区中选择您要保护的单个变量?

除了看到命令历史寄存器,有没有被赋予一个特定变量的不同值的历史寄存器?

mar*_*ovm 9

按顺序运行脚本是灾难的一个方法.如果可能,请尝试将这些脚本转换为函数.这自然会消除覆盖变量的问题,因为函数内部的变量是这些函数的本地变量,而脚本中的变量是工作空间的本地变量 - 因此可以通过单独的脚本轻松访问/覆盖(通常是无意的,特别是如果你使用像"结果"这样的变量名称.

  • +1.技术挑剔:脚本中的变量也是本地的; 它们只是"基础"工作空间的本地,它在Matlab会话的生命周期中持续存在,并且所有脚本都在其中运行.全局变量使用"global"关键字声明,并且可以从声明它们的任何工作空间访问. (2认同)