Я пытаюсь смоделировать график сигнала ЭКГ в реальном времени с помощью графического интерфейса MATLAB. В целях тестирования я пытаюсь реализовать синусоидальную волну, которая отображается как в режиме реального времени. Я использую графический интерфейс с одной кнопкой, которая начинает рисовать синусоиду, и набором осей, помеченных как «axes1». Код ниже извлечен из функции обратного вызова для кнопки запуска:
%create a sine wave to plot
X=[0:0.1:25*pi];
X=transpose(X);
Y=sin(X);
[a,b] = size(X);
hold on;
%initialise axes limits
axis(handles.axes1,[0,a,-1,1]);
%plot sine wave
for i = 1:a
plot(handles.axes1,1:i,Y(1:i));
drawnow;
pause(0.01);
end
Результатом является движущаяся синусоида, но я пытаюсь заранее определить пределы осей, чтобы они не изменяли размер по мере построения волны. Я пробовал использовать строку
axis(handles.axes1,[0,1,-1,1])
Чтобы установить пределы осей, но это не работает, как хотелось бы, и я не уверен, как действовать дальше.
Заранее благодарю за любую помощь!