Вы можете создавать объекты таймера в MATLAB, используя функцию TIMER . Например, это создает объект таймера, который должен выполнять функцию myFcn один раз каждые 10 секунд после запуска таймера:
timerObject = timer('TimerFcn',@myFcn,'ExecutionMode','fixedRate',...
'Period',10.0);
Таймеры запускаются и останавливаются с использованием функций START и STOP . Вы также должны всегда помнить, чтобы удалить их с помощью DELETE , когда вы закончите их использовать. Вы можете найти больше информации об использовании таймеров в документации MATLAB .
Стоит отметить, что если вы хотите обновить объект осей в графическом интерфейсе GUIDE, для этой работы требуется дополнительная «хитрость». Вы должны либо изменить свойство HandleVisibility объекта axes в GUIDE, либо вы должны явно получить дескриптор. Чтобы сделать это, измените конструкцию timerObject следующим образом (предполагается, что окно осей в GUI, сгенерированном GUIDE, называется axes1):
timerData.axes = handles.axes1;
timerData.n = 1; % some state needed for the plots.
timerObject = timer('TimerFcn',@myFcn,...
'ExecutionMode','fixedRate',...
'Period',10.0,...
'UserData', timerData);
тогда в myFcn
нам нужно сослаться на объект осей. В частности:
function [] = myFcn(timerObj, event)
timerData = get(timerObj, 'UserData');
plot(timerData.axes, (1:n)/n, sin(20*2*pi*(1:n)/n));
line( (1:n)/n, cos(20*2*pi*(1:n)/n, 'Parent', timerData.axes);
timerData.n = timerData.n + 1;
set(timerObj, 'UserData', timerData);
end