我是靠谱客的博主 怕黑凉面,最近开发中收集的这篇文章主要介绍Simulink学习——If Action Subsystem 和 Switch case Action SubsystemIf 模块和 If Action Subsystem Switch case 模块和 Switch case Action Subsystem,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

If 模块和 If Action Subsystem

 

If子系统和if模块搭配使用。

 

If模块能够实现if-elseif-else的语法,虽然好像用relation operator和siwtch也可以做到,但是好像用if模块会更加简洁许多。直接仿真会出现如下错误:

可以看到if模块只能怪连接到一个action subsystem才能够使用。毕竟if-else语句中,总得告诉程序每个分支需要干什么吧。比如让大于0.5时候就把正弦波乘以2,如果正弦波到了±0.3的时候,乘以0.01,其他时候不作动作:

仿真完,可以看到分支的条件和动作确实是有效的,但是所有的subsystem一直在运作,那怎么只激活满足if-else条件的分支呢?

如上,可以使用merge模块去实现输出信号的合并,但是这样没有解决if-else中的每个分支仍然是一直在运行的问题。这个问题除了使用stateflow,我好像没有想到有什么好的方法,希望大神能够赐教。

 


 

Switch case 模块和 Switch case Action Subsystem

 

与If action 子系统相似,Switch Case Action Subsystem也需要搭配Switch Case模块使用。

通过设置case条件,可以设定多个case输出。左侧u1即为case的选择输入,如1、2、3。

可以配合stateflow做一个switch条件的输入,达成的效果感觉可以一定上替代functioncall的功能。不过同样的,case中的子系统依然是同时运行。还是得用merge一定程度上解决信号分开输出的问题。

 

最后

以上就是怕黑凉面为你收集整理的Simulink学习——If Action Subsystem 和 Switch case Action SubsystemIf 模块和 If Action Subsystem Switch case 模块和 Switch case Action Subsystem的全部内容,希望文章能够帮你解决Simulink学习——If Action Subsystem 和 Switch case Action SubsystemIf 模块和 If Action Subsystem Switch case 模块和 Switch case Action Subsystem所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部