Matlab中的静态变量

时间:2021-11-10 06:47:18
在matlab中,静态变量一般定义为如下形式:
  1. persistent model;  
一般将静态变量定义在子函数Function内,其用法与C/C++的static一致。
此外,需要注意的是,persistent定义的静态变量,只在被定义的子函数内部被识别,在主函数内被遮蔽,无法使用。
释放静态变量的方式主要是用clear命令。
如果在定义静态变量的子函数内部进行释放,则使用(clear+‘变量名’)即可,与清除普通变量方法一致。
  1. clear model;  
 如果在主函数中释放静态变量,则使用(clear+‘子函数名’),指定清除某一子函数内定义的所有静态变量。
使用(clear+‘Function’)清除所有的静态变量。
  1. Function val = func(para)  
  2.  persistent model; % 子函数内定义静态变量  
  3.  clear model;      % 子函数内部释放  
  4. end  
  5.   
  6. main()  
  7. {  
  8.  clear func;     % 主函数内部释放func内所有静态变量  
  9.  clear Function; % 释放所有的静态变量  
  10. }