필터 지우기
필터 지우기

Switch Loop with Boolean expressions? Can it be done?

조회 수: 4 (최근 30일)
Mau Dudas
Mau Dudas 2019년 10월 27일
댓글: Guillaume 2019년 10월 28일
So I am trying to get a switch loop to display values of x=rand(1,10) when the values are greater than and smaller than 0.6?
Been trying with this however it keeps either telling me that my x value needs to be a scalar or character variable or just the regular unexpected error message.
switch (x)=true
case (x>0.6)
disp 'Large value in x found'
otherwise (x<0.6)
disp 'Small value in x found'
end
I know something else would be probably more pragmatic here but it's homwork so I do not make the rules...
Thanks in advance!

답변 (1개)

Walter Roberson
Walter Roberson 2019년 10월 27일
switch true
with no variable..
Also the otherwise should not have a condition
  댓글 수: 3
Walter Roberson
Walter Roberson 2019년 10월 28일
Yes.
I do not recommand this use of switch() but it is legal. It would almost always be clearer to use if/elseif trees instead of switch true
Guillaume
Guillaume 2019년 10월 28일
As Walter said, yes you can do this.
As Walter also recommended, you shouldn't do it. The majority of readers (particularly people familiar with C-like languages) would expect a constant in the case expression and a non-constant expression for the switch. You're going to confuse a lot of people if you use that syntax.
If you do use it despite our recommendation, then a comment in the code explaining in details why it is used (as opposed to the simpler and clearer if...else) would be extremely recommended.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by