Info
此问题已关闭。 请重新打开它进行编辑或回答。
What is this block?
3 次查看(过去 30 天)
显示 更早的评论
2 个评论
Walter Roberson
2016-12-8
That appears to be a Heaviside function. Are you asking whether there is a built-in Simulink block to implement it? I do not find it as a single block in Simulink
回答(1 个)
Prashanth Krishnan
2016-12-14
As Walter mentioned, the block in the image represents a heaviside function. Unfortunately, there is currently no block for the 'heaviside' function in Simulink. However, there is a function in MATLAB that implements this, and is called "heaviside". Please refer to the following link for documentation on this function:
1 个评论
Walter Roberson
2016-12-14
Correct URL should be https://www.mathworks.com/help/symbolic/heaviside.html as the one you gave was for use inside the MuPAD engine.
Either version uses the symbolic engine, which is a problem for Acceleration as nothing in symbolic toolbox can be compiled.
I would therefore suggest using a MATLAB Function Block with
result = double(u >= 0)
or
result = double(u > 0);
or
result = double(u > 0) + double(u == 0) * 1/2;
depending on the behavior that was wanted for 0 exactly.
此问题已关闭。
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!