У меня есть какая-то простая функция, которая принимает значение
Это значение - проверенное число операторов if или elseif для вычисления другого значения.
Проблема, похоже, заключается в том, чтоошибка при попытке запуска, которая говорит
Ошибка при использовании / Размеры матрицы должны совпадать.
Ошибка в abc (строка 9) a = 5000 / г;
кодследующим образом
function abc(g)
if (g == 100)
a = 1;
elseif (g <= 99 & g >= 50)
a = 200 -2*g;
elseif (g <= 50 & g >= 1)
a = 5000 / g;
else
warning('Invalid value passed, a defaults to 1');
a =1;
end
end
Итак, я передаю в abc 100, и я ожидаю, что будет 1, но вместо этого он проходит через каждый if / elseif и выдает ошибку на = 5000 / g
Я должен также упомянуть, что я первоначально попытался использовать && в elseifs, но это также дало ошибку, которая сказала
Операнды к ||и операторы && должны быть преобразованы в логические скалярные значения.
Ошибка в abc (строка 6) elseif (g <= 99 && g> = 50)
Кто-нибудь знает, что здесь происходит?Спасибо