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小时内删除。

相关推荐
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超1 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int1 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger1 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读1 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie2 天前
Linux进程控制四大核心操作
linux·开发语言
Brilliantwxx2 天前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件