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개)

David Hill
David Hill 2021년 3월 4일

0 개 추천

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

태그

댓글:

2021년 3월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by