Simulink学习——switch-case语义的实现(switch-case子系统)
相关组件学习实现switch-case的相关components:Switch case 模块 simulink help文档说明:功能与if模块很像,但是通过一个模块进行多个条件判断,有点像if-elif-else的功能。通过修改case condition中括号内的值,可以扩展出多个case:而与if模块相似的,switch-case模块的输出可以配合 switch-case action s
相关组件学习
实现switch-case的相关components:
Switch case 模块 simulink help文档说明:
功能与if模块很像,但是通过一个模块进行多个条件判断,有点像if-elif-else的功能。通过修改case condition中括号内的值,可以扩展出多个case:
而与if模块相似的,switch-case模块的输出可以配合 switch-case action subsystem使用。
一样的,当输出口与子系统连接起来的时候,子系统会自动改名。
并且如help中描述,switch case中,case是从上到下进行判断的,这一点要注意。
建模练习
这回就不弄很复杂的需求案例来了。使用switch case来进行一下多种类型信号的合成,看看其作用效果。
仿真看看:
确实能够合成出信号
但是输入是随机的所以输出也是随机的,看不出来执行的特性,因此把输入稍微做一下修改:
再仿真看看,可以看到switch case在按顺序执行和触发对应输出。
总结
Switch-case用起来我觉得是比if-else在某种程度上是要更灵活的,但是需要理解一下其在条件出发之间的动作,这个还需要进一步讨论和理解。模型均上传至了PriceJunior/MatSimLearn: Recording the learning of matlab and simulink (github.com),各位同学可以一起学习交流~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)