最近在学习simulink,搭了一个模型,希望根据一个判断条件使运行终止,百度了一下,需要通过Enabled Subsystem实现。
mathworks官网上给出了这个子系统的使用说明。仅当Control信号大于0时,子系统才运行。
搭了下面的一个模型来练习,想实现功能:子系统内部进行运算,根据输出的符号来判断是否继续运行。
子系统内部,当输入的时间信号t小于5时,就输出t-5的值,并保存;否则,终止运行,并保持上一时刻的值。
模型跑起来,可是s(也就是t-5)的值一直是0。
找了半天原因,终于在matlab论坛里找到答案,参见
http://www.ilovematlab.cn/thread-219183-3-1.html
原来需要设定subsystem的输出端初始值,在我们的例子里就是-5了
改过之后,达到目的