如何解决Simulink中的案例声明
| 我只是无法弄清楚如何进行: 我正在尝试建立模型: 它将有4个输入(布尔i / p) 它将有1个输出(签名:8位) 它将执行以下操作: 基于哪个输入为1,它将给出反映DataRate的相应输出。 如果我必须用Matlab编写,我会写这样的东西:if (portA==1)
PSDU_Data_Rate=1;
elseif(portB==1)
PSDU_Data_Rate=2;
elseif (portC==1)
PSDU_Data_Rate=5.5;
elseif(portD==1)
PSDU_Data_Rate=11;
end
我附上了我为相同功能而开发的模型部分:
关于如何进行或进行代码更正的任何想法或关于如何对其进行改进的建议将非常有帮助。
谢谢
解决方法
由于您有4个不同的输入,而不是带有枚举值的单个输入,因此请使用If-Else而不是Case语句。我正在添加如何完成此操作的屏幕截图。请注意,如果要默认选择数据速率之一(如果输入都不是非零的话),则If块还可以让您获得Else输出。
If
块设置:
输入数量:4
如果表达式:u1〜= 0
Elseif表达式:u2〜= 0,u3〜= 0,u4〜= 0
该模型由连接到一组ѭ3consists块的If
块组成。后者的输出可以使用4块合并为单个信号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。