【问题标题】:Using if function in MATLAB Simulink在 MATLAB Simulink 中使用 if 函数
【发布时间】:2015-04-06 01:35:58
【问题描述】:

我在 Matlab Simulink 上创建了以下框图。当 INPUT>=0 时应给出 OUT1=1 OUT2=0,当 INPUT

【问题讨论】:

  • 您的块未连接。检查连接。 (你看,这不是一条实线。
  • 不,它们已连接。在 matlab simulink 中,If 模块和 if 动作子系统之间的连接由虚线表示。
  • 如果一个常量值块连接到 u1 输入,当常量变为正数或负数时,它会给出预期的结果。但是当信号生成器块连接到输入 u1 时它不起作用。
  • 啊好吧,不记得了。

标签: matlab simulink


【解决方案1】:

您看到的行为可以通过注意以下几点来解释:

  • If 子系统的输出类似于启用信号。
  • 默认情况下,If Action 子系统的输出端口设置为在(子)系统被禁用时保持它们的值。

这可以通过转到输出端口的参数对话框(在 If Action 子系统中)并将 Output when disabled 属性更改为 reset 。您还需要将默认值更改为零。

【讨论】:

    【解决方案2】:

    这 if 功能块的事情没有工作。所以我想出了一种不同的方法来使用符号块获得我想要的结果。解决办法贴在下面。感谢大家的帮助。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-08-08
        • 1970-01-01
        • 2013-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        相关资源
        最近更新 更多