数学建模社区-数学中国
标题: 在函数调用两次之间本地数据的存储 [打印本页]
作者: 森之张卫东 时间: 2015-9-18 20:48
标题: 在函数调用两次之间本地数据的存储
在函数调用两次之间本地数据的存储
当一个函数执行结束,由这个函数创建的特定的工作区将会被破坏,所以在这个函数中的所有本地变量将会消失。当这个函数下一次被调用的时侯,一个新的工作区将会被创建,而且所有本地变量的值都返回为默认。这种特性是我们所期望的,因为只有这样MATLAB函数才能被重复调用而不受上一次影响。
但在有些情况下,多次调用一个函数,存储一些本地变量的信息还是有用的。
例如,我们想创建一个计数器,对函数调用的次数进行计数。如果每一次函数结束执行,计算器就会被破坏,那么计数不超过1。
从MATLAB5.1开始,MATLAB中就有了一个特殊的机制。这种机制允许多次调用一个函数时,保存本地变量。
持久内存(persistent memory)是内存的一种类型,在函数上一次调用之后,这一步调用之前,本地变量被保存在持久内存,值不变。
持久变量应用语句声明。它的形式如下:
persistent var1 var2 var3 ...
var1,var2,var3...是存储于持久内存中的变量。
好的编程习惯
在两次函数调用之间有持久内存保存本地数据。
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |