У меня есть if if elseif ... elseif ... block, и я думал, что мне нужен только один «конец» в самом конце. Тем не менее, я получаю сообщение об ошибке, если я не положил конец каждому отдельному заявлению elseif. Код указан в следующем виде:MATLAB: Как очистить этот блок «if»?
if final_grade >= 90;
letter_grade='A+';
else if final_grade < 90 & final_grade > 80;
letter_grade='A';
else if final_grade < 80 & final_grade >= 76;
letter_grade='B+';
else if final_grade < 76 & final_grade >= 73;
letter_grade='B';
else if final_grade < 73 & final_grade >= 70;
letter_grade='B-';
else if final_grade < 70 & final_grade >= 60;
letter_grade='C+';
else if final_grade < 60 & final_grade >= 50;
letter_grade='C';
else if final_grade < 50 & final_grade >= 40;
letter_grade='D';
else if final_grade < 50 || exam_grade < 50;
letter_grade='F';
else if exam_grade < 50
letter_grade = 'F';
end
end
end
end
end
end
end
end
end
end
По какой-то причине, это единственный способ, которым мой код будет работать. Если я пишу только один «конец», MATLAB говорит мне, что один или несколько целей отсутствуют. Кто-нибудь знает, как сжать это до одного окончательного «конца»?
[Чтение документации] (http://www.mathworks.com/help/matlab/ref/if.html), вероятно, будет полезно. – excaza
Плюс последняя строка бесполезна, поскольку она уже проверена выше ('exam_grade <50') – BillBokeey
Для условий' elseif' вам не нужно проверять верхние границы, поскольку предыдущие условия соответствовали бы. Это предполагает, что ваши условия находятся в правильном порядке. – zeeMonkeez