Simulink if/else block

8 views (last 30 days)
Steven
Steven on 23 Nov 2011
Hi,
I'm looking for the right way to set a conditional statement in Simulink. That's the pseudo-code I wish to have:
if x < 6
y = 0
elseif x > 20
y = 2
else
y = 1
The block if is not really what I'm looking for, I just want a small controller with one input (x) and one output (y).
thx

Accepted Answer

Steven
Steven on 8 Dec 2011
the block I was looking for was index vector

More Answers (1)

Kaustubha Govind
Kaustubha Govind on 23 Nov 2011
There's at least two ways that I can think of:
  1. Use a 1-D Lookup Table with [0 1 1 2] as the table data and [6-eps 6 20 20+eps] as the breakpoints
  2. Use a combination of Logic and Bit Operations (Compare to Constant and AND blocks).
  1 Comment
Steven
Steven on 24 Nov 2011
but all logical block send 0 or 1 as output. What's the block to use to take some value if 0, some other if 1

Sign in to comment.

Categories

Find more on Simulink Functions 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!