Return to input when 'error'

Hi, i want to make a loop return to key in input if the value does not met the condition, my code is like this:
prompt = 'What is your no. of car? ';
no_car= input(prompt);
prompt = 'Please key in your desireable SOC: ';
EV_Matrix(no_car,9) = input(prompt);
if EV_Matrix(no_car,9) < 20 | EV_Matrix(no_car,9) > 85
"ERROR:RETURN TO LINE PLEASE KEY IN YOUR DESIRABLE SOC"
end
How do i do this?

回答(1 个)

prompt = 'Please key in your desireable SOC: ';
while 1
EV_Matrix(no_car,9) = input(prompt);
if EV_Matrix(no_car,9) >= 20 | EV_Matrix(no_car,9) <= 85
break;
end
end

1 个评论

Rather than while 1 why not put the condition to break the loop in the while itself?
no_car = some_invalid_value;
while ~isValidValue(no_car)
no_car = askForValue;
end
with some_invalid_value, isValidValue, and askForValue being data or code that do what their names imply.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2020a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by