Matlab中的simulink\If else模块

最近用到了simulink中的If Else模块,发现了一个问题。为了说明问题,简单搭了个模型(仅为了说明,无实际用途),见下图所示:


u1小于0时,会触发第一个动作,输出状态变量state1到工作区中;

否则,会触发第二个动作,输出state2.

问题:当第一个动作触发时(第二个动作没有触发),state2有值吗?或者反之,第二个动作触发时,state1会发生怎样的变化?

答案:经过仿真实验发现,对于第一个问题,state2仍然被初始化了,被赋了0值。第二个问题,也是同样的结果。

这就意味着,尽管动作没有触发,但里面的变量还是被默认初始化了。编程的时候得注意这一点。


  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值