Simulink if/else block

7 views (last 30 days)
Steven on 23 Nov 2011
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
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).

Accepted Answer

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 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.


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