MATLAB: Repeated for-looping without telling matlab to repeat loop error

for loopsrepeatingunwanted

Here is my code:
for m = 1:num_spans
h1 = plot(Repetitions{:,m}); % plot the rep
repcycle = sprintf('Rep %d',m);
title(repcycle) % put title on graph to show user the rep

[x, y] = ginput(2);
xlabel('Time (s)')
ylabel('Amplitude (mV)')
close figure 1
choice = input('Do you want to keep these start/stop times? (1 = yes, 2 = no): ');
while choice == 2
h1 = plot(Repetitions{:,m});
[x, y] = ginput(2);
repcycle = sprintf('Rep %d',m);
title(repcycle) % put title on graph to show user the rep
choice = input('Do you want to keep these start/stop times? (1 = yes, 2 = no): ');
end
xpoints(:,m) = [x(1,1),x(2,1)];
end
for some reason when running this code, MATLAB continuously repeats this for-loop without any code telling it to repeat. Why is this happening and how can I make it stop?

Best Answer

Instead of input(), try this:
promptMessage = sprintf('Do you want to keep these start/stop times?');
titleBarCaption = 'Continue?';
button = questdlg(promptMessage, titleBarCaption, 'Yes', 'No', 'Yes');
if strcmpi(button, 'No')
break;
end
Related Question