How to use max inside Simulink Fcn block?
1 view (last 30 days)
Show older comments
In my Simulink sheet, I have a Fcn block which does a very simple calculation from its input:
u(36)/u(38)*u(39)
Since the input can sometimes assume (unphysical) negative values, I wanted to exlude them:
max(0, u(36)/u(38)*u(39))
But as soon as I call the simulation, I get
The expression: max(0, u(36)/u(38)*u(39))
in '.../.../...'
has a syntax error
So does that mean that max is undefined inside Fcn blocks? If so, what could I use instead?
2 Comments
Ankit
on 24 Sep 2019
Fcn Block allows following mathematical function
Mathematical functions — abs, acos, asin, atan, atan2, ceil, cos, cosh, exp, floor, hypot, log, log10, power, rem, sgn (equivalent to sign in MATLAB®), sin, sinh, sqrt, tan, and tanh.
Just to confirm are you referring this block?: Fcn
Accepted Answer
Walter Roberson
on 24 Sep 2019
Math Function Blocks https://www.mathworks.com/help/simulink/slref/mathfunction.html do not accept expressions: they only accept keywords.
You can build max() against a constant with https://www.mathworks.com/help/simulink/slref/minmax.html or with Saturate blocks.
0 Comments
More Answers (0)
See Also
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!