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

相关推荐
weixin_4407841137 分钟前
Java基础常见题
java·开发语言·python·java基础
(Charon)1 小时前
【C++】多线程死锁:产生原因、复现与解决方法
开发语言·c++·算法
跨境小彭1 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python
今天AI了吗1 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python
雪之下雪乃的代码日记2 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python
Y3815326622 小时前
SERP API 请求体 Gzip 压缩优化实战:大数据量降带宽 80%
开发语言·前端·php
weixin199701080162 小时前
☁️《抖店API基础¥0.018/百次·增值¥0.05/百次:云内云外价差架构实战》(附Python源码)
开发语言·python·架构
萌动的小火苗3 小时前
1、python基础面试题
java·开发语言·python
运维行者_3 小时前
网络监控与ITSM集成:从告警到工单,实现运维自动化闭环
开发语言·网络·分布式·后端·架构·flask·php
小叮当爱咖啡4 小时前
Day3.参数+Prompt三板斧
开发语言·python·prompt