Simulink中switch case的使用
1.if与if action subsystem模块
在simulink当中if与if action subsystem模块通常是配套使用,下面将通过累加器对其功能进行展示,配置如下
1.1if模块
在if模块我们可以配置输入端口数和判断条件
同时我们也可以在else if里面增加新的判断条件
当然如果想要在增加判断条件,可以通过逗号隔开
如果不想有else部分的话也可以单击取消
1.2if action subsystem模块
这是模块的初始界面
在和if模块连完之后上方就会出现判断条件,在下面介绍switch case模块的时候会细讲这个模块
2.switch case模块
在case conditions中我们可以配置从各个端口输出时对应的输入端口的数值,用逗号来隔开不同端口对应的数值,如果一个输出端口对应两个输入端口,则用[ , ]形式,如3和4都可以,则可以表示为[3,4]。
下面我要配置三个端口,输入为1时输出第一个,输入为2时输出第二个,输入为3或4时输出第三个整体模型如下
这里的if action subsystem模块内部配置的模型仍然是累加器
3.if action subsystem模块的action port的配置
当设置为held时,再次触发时数据会被保存,reset时会被清除
下面来进行举例
3.1held模式
先运行两个步长,从第一个端口输入,此时第一个端口输出2
之后运行一个步长,从第二个端口输出,我们会发现第一个端口的数据不变
当再次从第一个端口输入时,数值会继续累加
3.2reset模式
步骤如上
但当再次从端口一输入时,数据会被清除,重新开始累加
注意以上输出都是在if action subsystem中的out的配置是held的前提下进行的