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

 Accepted Answer

madhan ravi
madhan ravi on 30 May 2020

0 votes

Replace 1 with ~0 and 0 with ~1.

6 Comments

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 on 30 May 2020
Thanks mate!
that solved the problem :-)
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 on 31 May 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.
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 on 31 May 2020
Wow, this is very elegant !
thanks for showing me that :-)

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 30 May 2020

Commented:

on 31 May 2020

Community Treasure Hunt

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

Start Hunting!