在MATLAB Simulink中使用if函数

时间:2015-04-05 10:13:49

标签: matlab simulink

我在Matlab Simulink上创建了以下框图。当INPUT <0时,它应该给出OUT1 = 1 OUT2 = 0,当INPUT <0时,OUT1 = 0 OUT2 = 1。但它没有给出预期的结果。这是什么原因。任何使其正常工作的建议将不胜感激。

enter image description here

3 个答案:

答案 0 :(得分:2)

您可以通过注意以下内容来解释您所看到的行为:

  • If子系统的输出就像启用信号一样。
  • 默认情况下,如果禁用(子)系统,If Action Subsystem的输出端口将设置为 hold 其值。

可以通过转到输出端口的参数对话框(在If Action Subsystems中)并将 输出禁用 属性更改为重置来更改。您还需要将默认值更改为零。

答案 1 :(得分:0)

这个if功能块的东西不起作用。所以我想出了一个不同的方法来获得我想要的结果使用符号块。解决方案发布在下面。感谢大家的帮助。

enter image description here

答案 2 :(得分:0)

在许多情况下,IF被翻译为switch。您计算案例并选择预期的案例。在这里,您可以将常量[1 0]和常量[0 1]连接到第一个和第三个输入以及从解决方案到第二个输入的符号块。