假设我想调用一个函数两次,但是我需要函数来记住它在第一次调用时初始化的变量,这样可以在后续调用中更改执行.
例如,如果我有一段这样的代码:
function random
if exist('a','var') == 0
fprintf('hello\n');
a = 1;
else
disp('goodbye\n');
end
end
Run Code Online (Sandbox Code Playgroud)
a
当我再次调用代码时,如何让MATLAB记住等于1?具体来说,我希望在我正在编写的程序中使用它作为按钮回调函数.
MATLAB支持关键字persistent
,您将使用如下:
function toggleval_persist
% Set up the persistent variable and initialize it.
persistent a;
if isempty(a)
a = 0;
end
if ( a == 0 )
disp('hello');
a = 1;
else
a = 0;
disp('goodbye');
end
end
Run Code Online (Sandbox Code Playgroud)
另外,我不建议使用持久变量来切换按钮状态.如果您正在使用MATLAB的UI系统,则按钮的状态通常可在GUI的对象结构中使用.
归档时间: |
|
查看次数: |
111 次 |
最近记录: |