У меня есть вопрос об остановке сюжета на Matlab. Я использую данный код для построения своей траектории. Но дело в том, что у меня есть раскрывающееся меню, и я пытаюсь контролировать скорость печати с помощью раскрывающегося (всплывающего) меню.
Всплывающее меню работает, как показано ниже:
function animation_speed_Callback(hObject, eventdata, handles)
% hObject handle to threeDOF_animation_speed (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global plot_step
switch get(handles.animation_speed,'Value')
case 1
run('create_animation.m')
case 2
run('create_animation.m')
end
и вот файл create_animation.m:
if get(handles.animation_speed,'Value')==1
plot_step=5;
elseif get(handles.animation_speed,'Value')==2
plot_step=10;
end
for i = 1:plot_step:length(x)
addpoints(trajectory,y(i),x(i))
drawnow
hold on
end
Проблема заключается в том, что я выбираю параметр «1» (plot_step = 5), а затем меняю его на «2» (plot_step = 10), не дожидаясь окончания l oop, работает следующим образом: он начинает строить мои точки со случаем 1, а затем переходит к случаю 2. (До сих пор все нормально.) Однако он продолжается для построения случая 1. Я не хочу видеть случай 1 снова. Как я могу это исправить?
(PS: я прикрепил gif-файл, я выбираю 2x в начале, а затем выбираю 8x. После завершения sh для построения графика 8x он снова начинает продолжаться 2x.)
Заранее спасибо!