How to run a loop with isNaN

How would i make a loop where if a positive number isnt inputted, The question is asked again?

4 Comments

This sounds like a homework assignment. What have you tried so far? Which explicit problem to you have?
@Jan here is my code so far, i was trying to create a quadratic equation solver:
disp('Solving a quadratic polynonial (ax^2+bx+c), where a b and c are real numbers to 3 decimal places')
a = input ('What is your value for a?: '); %coefficient of x^2
a =~ NaN;
while isnan(a)
a = input ('Please only enter a numerical value for a: ');
end
but my NaN loop isnt working correctly. I've just learnt about the while function and i was trying to implement a while loop that loops when anything other than a number is inputted
Your code seems fine, just remove the line
a =~ NaN;
and it works, meaning that if you input a = nan then it'll display the 'Please only enter a numerical value for a: ' message.
@Davide Masiello is there a way for this code to work if any letter is inputted as my value of a

Sign in to comment.

 Accepted Answer

Davide Masiello
Davide Masiello on 17 Oct 2022
Edited: Davide Masiello on 17 Oct 2022
disp('Solving a quadratic polynonial (ax^2+bx+c), where a b and c are real numbers to 3 decimal places')
a = input ('What is your value for a?: '); %coefficient of x^2
while ~isnumeric(a) || isnan(a)
a = input ('Please only enter a numerical value for a: ');
end
Solving a quadratic polynonial (ax^2+bx+c), where a b and c are real numbers to 3 decimal places
What is your value for a?: nan
Please only enter a numerical value for a: 'a'
Please only enter a numerical value for a: 2
>>

More Answers (0)

Community Treasure Hunt

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

Start Hunting!