Clear Filters
Clear Filters

stateflow "if else if else" structure not working properly

16 views (last 30 days)
I am trying to make a stateflow chart using the if-else-if-else pattern in the tool panel but somehow the conditions aren't followed and it keeps executing the first condition's action even if the that ain't true.
how can I make it consider other conditions as well?
below attached is the screenshot of the same
the output is always "snow and haze" even if the input changes.

Accepted Answer

Les Beckham
Les Beckham on 22 May 2024 at 15:50
Edited: Les Beckham on 22 May 2024 at 15:52
I don't have access to Stateflow so I can't test this, but I know that the compound comparisons that you have shown are not allowed in Matlab, so I suspect that they aren't allowed in Stateflow either. The comparisons have to be done separately, then anded together. So, for example, change 0.90 < y < 0.91 to 0.90 < y & y < 0.91.
An example of why this might not be working for you, using Matlab code:
y = 0.1;
tf = 0.9 < y < 0.91
tf = logical
tf2 = 0.9 < y & y < 0.91
tf2 = logical

More Answers (0)


Find more on Complex Logic in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!