• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab中的静态变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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()
persistent a;
if isempty(a)%初始化方法
a=0;
end
a=a+1;
y=a;

之后调用一次y=testPersistent;y的值都会加一。

清除工作区间的a变量的值(要使得y的只清空,重新计算)clear y或者clear all(清除全部变量的值)即可

 

感谢原作者,转自http://blog.sina.com.cn/s/blog_4b94ff130100e9xl.html

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlabvspython发布时间:2022-07-22
下一篇:
Matlab查看本机IP地址---xdd发布时间:2022-07-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap