Terminate while loop when user hits enter
Mostrar comentarios más antiguos
Hi eveyone,
This is my while loop. It must end when user hits enter without entering a value . The loop allows for upto 3 successive blank entries before terminating. And, I cant get the n_points matrix to save entries without error.
How do I fix these?
Thank you for your time.
clear all
disp('Begin entering the data points')
t = 1;
x_point = input('enter x : ')
y_point = input('enter y : ')
n_points = [x_point,y_point];
while x_point ~= isempty(x_point) | y_point ~= isempty(y_point) % does not terminate immedeately when user presses enter without entering a value.
x_point = input('enter x : ')
y_point = input('enter y : ')
t = t+1
n_points(t,:) = [x_point,y_point];
end
Respuesta aceptada
Más respuestas (1)
Jonathan Clayton
el 10 de Abr. de 2021
the code below looks at the number of elements that the user has inputed for that loop, and if that number is zero then the loop is broken.
if numel(x_point)+numel(y_point)==0
break
end
Add this code above n_points variable so that the empty vaibles are not added to your list.
4 comentarios
klb
el 11 de Abr. de 2021
Jonathan Clayton
el 11 de Abr. de 2021
ok so that is a simple fix
if numel(x_point)==0
break
end
add this if statement directly after where the user adds the x_point in the while loop. this will break the loop if the user does not input anything when promted and simply hits enter.
klb
el 12 de Abr. de 2021
Categorías
Más información sobre Clocks and Timers en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!