How can i use sign function under a function block in simulink ?

19 views (last 30 days)
Hey guys, i'm new in using simulink. And i have a problem by using "sign(signum)" fucntion, in a fucntion block. When i write my formula inside the function block and run it. I have syntax error. But i'm pretty sure i wrote the formula correct. And when i remove sign function from the formula, it works(but not correctly). So how can i use this "sign" fucntion inside a function block ? Please help me i'm stuck in a project right now. Thank you

Answers (2)

A Jenkins
A Jenkins on 23 Apr 2014
Is that the full equation? Your parentheses don't match. (7 open and only 6 close)
Perhaps should be
(-Kc*u(1)-Bc*u(4)+Kc*u(2)/N-Fc*sign(u(5)+u(9)))/Jcin
  2 Comments
Mustafa
Mustafa on 23 Apr 2014
Edited: Mustafa on 23 Apr 2014
Thank you very much.I made the correction, but still i got syntax error in the same function block :/
A Jenkins
A Jenkins on 23 Apr 2014
Check that all of your parameters, Kc, Bc, etc are defined.
Also check that your input signal u, has a width of at least 9.

Sign in to comment.


Luuk Ladegaard
Luuk Ladegaard on 24 Sep 2018
Hey, I don't know whether you're still struggling with this problem, but I discovered that for some reason, you need to use "sgn()" instead of "sign()". I have no idea what's up with that, it's not an existing Matlab function, but it works in Simulink. I guess it's a mistake. :/
  1 Comment
Zhe Chen
Zhe Chen on 3 Apr 2020
I have the same problem. And your method works.
I dont know either why is that when I changed the sign function to sgn, the syntax error goes away.

Sign in to comment.

Categories

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