persistent
定义持久变量
说明
示例
提示
持久变量与全局变量类似,因为 MATLAB 为二者都建立持久存储。二者的区别在于持久变量仅为声明它们的函数所知晓。因此,MATLAB 命令行或其他函数中的代码不能更改持久变量。
由于 MATLAB 将持久变量初始化为一个空矩阵 (
[]
),通常函数会检查持久变量是否为空,如果是,则初始化该持久变量。function myFun() persistent n if isempty(n) n = 0; end n = n+1; end
必须先将变量声明为持久变量,然后才能对该变量进行任何其他引用,包括输入或输出参量。例如,以下函数中的
persistent
声明无效。function myfunA(x) persistent x end function myfunB x = 0; persistent x end
要清除持久变量,请使用
clear
和声明该变量的函数的名称。例如,clear myFun
。
扩展功能
版本历史记录
在 R2006a 之前推出