MATLAB中persistent变量相当于C中局部静态变量,只能在所定义的函数内部访问到,并且一旦定义一直存在。这样会有一个问题,就是下次继续访问这个函数的时候,里面的变量是被初始化了的,而且保留的是上一次写入的结果。会造成诸多不便。
有两种方式来处理这个问题。
1. 在写函数时,输入参数中加入一个变量,提示是否为最后一次调用。如果是,则在调用结束时,删去所有persistent变量,直接用clear var即可。
clear var
2. 可以使用clear functionname 语句删去该functionname里定义的所有变量。
clear functionname