相关组件学习

 

实现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),各位同学可以一起学习交流~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐