MATLAB: I am having some issues calculating grades using matlab.

gradingMATLAB

Hello, I am having some issues getting the program to correctly calculate grades. It works when the range of x is between 90 and 100, but anything below displays incorrectly. For the first part of the question, I cannot use elseif statements, only if. I feel that once I figure this part out, the second part where I use elseif statements will be much easier. Here is my code:
x = 80;
if x >=90;
grade = 'A';
if x <= 89, x >= 80;
grade = 'B';
if x <= 79, x >= 70;
grade = 'C';
if x <= 69, x >= 60;
grade = 'D';
if x < 60;
grade = 'F';
end;
end;
end;
end;
end;
disp(grade)
Any help would be very much appreciated!
Thanks, Nick

Best Answer

At first change:
if x <= 89, x >= 80
to:
if x <= 89 & x >= 80
The comma evaluates the expression "x >= 80" without any effects to the previous if command.
Then check the logic again:
if x >=90
grade = 'A';
if x <= 89 & x >= 80
When x is greater than 90, then it cannot be between 80 and 89. So you need:
if x >=90
grade = 'A';
elseif x <= 89 & x >= 80
This can be simplified: If "x >= 90" has been checked already, the test for "x <= 89" is redundant and can be omitted.
Related Question