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 Commenti

Jan
Jan il 17 Ott 2022
This sounds like a homework assignment. What have you tried so far? Which explicit problem to you have?
Benjamin
Benjamin il 17 Ott 2022
Modificato: Benjamin il 17 Ott 2022
@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
Davide Masiello
Davide Masiello il 17 Ott 2022
Modificato: Davide Masiello il 17 Ott 2022
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.
Benjamin
Benjamin il 17 Ott 2022
@Davide Masiello is there a way for this code to work if any letter is inputted as my value of a

Accedi per commentare.

 Risposta accettata

Davide Masiello
Davide Masiello il 17 Ott 2022
Modificato: Davide Masiello il 17 Ott 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
>>

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by