hi,
i was asked to write a simple function for home work :
this was my code:
function [admit]=eligible(v,q)
avg=(v+q)/2;
if (avg>=92) && (v>88) && (q>88)
admit=1;
else
admit=0;
end
end
and i don't understand why i got this error message :
please advise what is the problem.
thank's

 Réponse acceptée

madhan ravi
madhan ravi le 30 Mai 2020

0 votes

Replace 1 with ~0 and 0 with ~1.

6 commentaires

madhan ravi
madhan ravi le 30 Mai 2020
The problem is your data type is double rather it should be logical meaning it should indicate true or false , something like yes or no. The code should say either true or false it does not matter if it is 1 or 0.
doc logical
doron kra
doron kra le 30 Mai 2020
Thanks mate!
that solved the problem :-)
Image Analyst
Image Analyst le 31 Mai 2020
Then why didn't you click the "Accept this answer" link to award madhan reputation points, and let others know it's already been solved?
doron kra
doron kra le 31 Mai 2020
i didn't do it Intentionally ,i've clicked the "Accept this answer" now. maybe you should make the process more clear for new users.
Stephen23
Stephen23 le 31 Mai 2020
Rather than obfuscated code using negations of numeric values, it is clearer to write true and false:, i.e.:
admit = true;
Note that you can trivially replace the entire if-else-end statement:
admit = (avg>=92) && (v>88) && (q>88);
doron kra
doron kra le 31 Mai 2020
Wow, this is very elegant !
thanks for showing me that :-)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by