在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
persistent X Y Z 将X,Y,Z定义为在其声明处的函数的局部变量。然而,这些变量的值在函数调用期间在内存中保存(应该是堆区)。Persistent 变量和global(全局)变量相似,因为Matlab为他们创建永久的存储空间。但是Persistent变量与global(全局)变量不同之处在于 Persistent变量只对声明该变量的函数是可见的。这可以防止该变量被其他函数或者Matlab命令行改变。 当M文件被从内存中清除或当M文件被改变时,Persistent变量被清除。 如果Persistent变量在声明时没有赋值,将被初始化为空矩阵。 如果在当前工作空间中有同名的变量存在,则声明同名的Persistent变量将会报错。 Matlab不允许将Persistent变量声明为函数参数。 其实就是定义局部静态变量的语法,变量生命期为全局,但是可见性在其被声明的函数内部 Examples20100106 function y=testPersistent() 之后调用一次y=testPersistent;y的值都会加一。 清除工作区间的a变量的值(要使得y的只清空,重新计算)clear y或者clear all(清除全部变量的值)即可
感谢原作者,转自http://blog.sina.com.cn/s/blog_4b94ff130100e9xl.html
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论