MATLAB - 持久变量

Posted

技术标签:

【中文标题】MATLAB - 持久变量【英文标题】:MATLAB - persistent variable 【发布时间】:2013-04-12 06:17:32 【问题描述】:

从内存中清除持久变量的值后如何在MATLAB中保留它的值?

【问题讨论】:

【参考方案1】:

您可以使用mlock 来防止从内存中清除函数,直到 Matlab 退出。这也将防止在此函数中定义的所有persistent 变量被清除,如文档中所述:

mlock 将当前正在运行的函数锁定在内存中,以便 随后的清除功能不会将其删除。锁定一个函数 memory 还可以防止文件中定义的任何持久变量 正在重新初始化

【讨论】:

【参考方案2】:

你问的是一个矛盾,要么变量保留它的价值,要么你清除它?你不能两者兼得。也许你想把值放在一个单独的临时变量中?否则,请查看带有-except 标签的clearvars 或save 函数。在命令行中输入help save,了解如何存储变量以供以后使用。

【讨论】:

以上是关于MATLAB - 持久变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MATLAB 方法中清除持久变量

Matlab中持久变量的初始化

MATLAB 中持久变量的性能损失

在 MATLAB 上使用持久变量

无法在 Matlab 中更改持久变量的值

在MATLAB上使用持久性变量