Borrar filtros
Borrar filtros

How can I fix this infinite loop?

2 visualizaciones (últimos 30 días)
Gavin Thompson
Gavin Thompson el 8 de Oct. de 2021
Comentada: Gavin Thompson el 8 de Oct. de 2021
C = input('Enter a vector of coefficients for an odd-order polynomial: ');
valC = length(C);
count = 1;
while mod(valC,2) == 1
C = input('Try Again. Enter a vector of coefficients for an odd-order polynomial: ');
count = count + 1;
if count > 4
warning('Odd number of coefficients entered. Last element of user input removed.');
C(:,end) = [];
end
end
When the count variable reaches 5 I just want to produce the warning and remove the last number from the C array but when I run it, MATLAB produces the warning and removes the variable however it just starts the loop over again instead of ending after the last number in C array is removed.

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Oct. de 2021
C = input('Enter a vector of coefficients for an odd-order polynomial: ');
count = 1;
while mod(numel(C),2) == 1
C = input('Try Again. Enter a vector of coefficients for an odd-order polynomial: ');
count = count + 1;
if count > 4
warning('Odd number of coefficients entered. Last element of user input removed.');
C(end) = [];
break;
end
end
Question: what do you want to do if the user enters the empty array -- such as if they just press return.
  1 comentario
Gavin Thompson
Gavin Thompson el 8 de Oct. de 2021
Good question, I don't think it'll be necessary to code that in right now but I think I know of a few ways I could code that possibility into my program if needed. Thank you for your insight!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by