How to handle logical arrays in Simulink?

4 次查看(过去 30 天)
I have a logical comparison of an array in Simulink. I need to use any() function in MATLAB to handle the output of the comparison but I realized there is not any representation of this function in Simulink library. Is using MATLAB Function block the only way to use any() or all() functions in Simulink? Is there any particular reason that these do not exist in Simulink library? How do you handle logical arrays in Simulink?
  1 个评论
Utku
Utku 2023-12-20
To be more specific, for example, I do the logical operation "[1 2 3 4 5] == 2" in Simulink, and the output is a logical array which is [0 1 0 0 0], but I need a single output as 1 in this case.

请先登录,再进行评论。

采纳的回答

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023-12-20
Yes, it can be worked around - see this plain model:
  2 个评论
Utku
Utku 2023-12-20
Thank you very much! I gues this is the only proper way other than using MATLAB function

请先登录,再进行评论。

更多回答(2 个)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023-12-20
Of course Simulink blocks can be used. Simulink library has a bunch of logic operation blocks - follow to see them: Simulink -> Logic and Bit Operations.

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023-12-20
See this screenshot:
  1 个评论
Utku
Utku 2023-12-20
Thank you for your answer, but I need a single output from an array comparison. All of these do not do the same job that any() function does in MATLAB.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by