MATLAB的Simulink的可变子系统(选择子系统)

可变子系统内封装了多个child子系统,其输入/输出端口不需要连线,每个child子系统都有一个对应的变量或表达式,某个child子系统的变量或表达式值为真时此子系统就被激活。Simulink 的采样时刻到来时最多只有一个child子系统被激活,可以通过变量方便地控制其中某个child子系统的执行。可变子系统Variant Subsystem的模图标如图所示。


从Simulink 库的Ports&subsystem中将可变子系统拖拽到Simulink模型文件中,右击可变子系统,在弹出的菜单中单击Block parameters(subsystem),弹出对话框,如图所示。

左侧按列排列4个按钮,第一个按钮用来在可变子系统内建立child子系统,第二个按钮用来编辑激活child子系统的条件,第三个按钮用来打开选中的child子系统,第四个按钮用来更新信息列表。按钮列右侧是一个列表框,第二列Variant control表示Condition的 simulink. variant对象,其内部包含一个判断条件Conditon,即是第三列参数,由用户指定一个逻辑表达式,如sel = = 0,当条件满足时,此条件所对应的child子系统会被激活。在VariantControl编辑结束时, simulink.variant变量会自动创建到工作空间,如图所示。

Matlab 复制代码
>> seq =5

seq =

     5

通过第一个按钮创建三个child子系统如图所示,仅当前被选择为激活状态的子系统可实线显示,其他子系统则以 comment on状态显示。


再建立一个具有3个child子系统的可变子系统模块,其参数选择对话框如图所示。

3个child子系统功能依次是实现。当在MATLAB工作空间输入variant=3回车后,条件 variant==3成立使得child子系统中gain2子系统(对输入乘以2的子系统)处于激活状态。单击仿真按钮显示处于激活态子系统的输出。如图所示。

Matlab 复制代码
>> variant=3

variant =

     3

参考内容

1\] 孙忠潇.Simulink仿真及代码生成技术入门到精通\[M\].北京:北京航空航天大学出版社,2015. 本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

相关推荐
Boilermaker199212 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS12 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂13 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs13 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_9913 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
古城小栈13 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie909014 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体114 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk99814 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab
AI小怪兽14 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机