Matlab中的persistent变量

persistent, 用于定义persistent变量。persistent变量对于声明它的函数来说是局部的,但是当退出该函数时,该变量仍然保存在内存中,数值并不变。persistent变量与全局变量有相似之处,它们都创建永久的存储空间,不同在于persistent只对定义它的函数可见。这样可以防止persistent变量被其它函数或在命令行中被改变。

当我们改变或着清空在内存中的一个函数时,在它内部定义的presistent变量也会被清空。

当我们定义persistent变量的时候,如果不定义它的值,则默认为空矩阵。

如果我们定义的在persistent变量在工作空间中已经存在的话,则会产生错误。如果把任何函数的输入或输出参数定义为presistent,同样也会产生错误。

其实,我认为它和C语言中的静态变量差不多,是一样的道理。有一点不同,那就是当我们把定义persistent变量的函数清除掉的时候,persistent变量也随之被清除。

image

原文地址:https://www.cnblogs.com/yinheyi/p/5568325.html