Matlab simulink建模与仿真 第十章(模型扩展功能库)

2024-09-08 05:28

本文主要是介绍Matlab simulink建模与仿真 第十章(模型扩展功能库),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili

一、模型扩展功能库中的模块概览

        注:下面不会对Block Support Table模块进行介绍。

二、基于触发的和基于时间的线性化模块

1、Trigger-Based Linearization基于触发的线性化模块

(1)每次当模块受到触发时,都会调用linmod或者dlinmod函数,求出当前控制系统的线性状态空间模型(A、B、C、D四个矩阵以及其它的一些相关信息),相关信息会以结构体数组的形式存储在基本工作空间中(每触发一次,生成一个工作点,也就是求一次线性状态空间模型,这个工作点以结构体表示,若干个工作点便构成了结构体数组)。

(2)模块的触发方式有上升沿(rising)、下降沿(falling)、跳变(either)、函数调用(function-call)四种,下面以上升沿为例继续介绍。

(3)控制系统的线性状态空间模型与输入、输出无关,在构建控制系统时,输入和输出要分别用In模块和Out模块代替,Trigger-Based Linearization模块也是根据In模块和Out模块对模型中的控制系统进行识别的。

(4)上图示例中的方波发生器每10秒产生一个上升沿,仿真时长设置为25秒,那么仿真过程中Trigger-Based Linearization模块会受到两次触发,受到触发时它会求出当前时刻控制系统的线性状态空间模型,并输出到基本工作空间中,存储其的结构体数组名为“<模型文件名>_Trigger_Based_Linearization”,如下图所示(Ts并不是触发时刻,触发时刻记录在变量Operpoint中)。

2、Timed-Based Linearization基于时间的线性化模块

(1)每当达到设定的时间时,模块都会调用linmod或者dlinmod函数,求出当前控制系统的线性状态空间模型(A、B、C、D四个矩阵以及其它的一些相关信息),相关信息会以结构体数组的形式存储在基本工作空间中。

(2)双击模块可对时间进行设定,若设定是一个矩阵,则每个元素都为设定时间,每次达到设定时间都会生成一个工作点,工作点记录当前控制系统的线性状态空间模型,若干个工作点会存储在基本工作空间的结构体数组中。

(3)控制系统的线性状态空间模型与输入、输出无关,在构建控制系统时,输入和输出要分别用In模块和Out模块代替,Timed-Based Linearization模块也是根据In模块和Out模块对模型中的控制系统进行识别的。

(4)上图示例中,仿真时长设置为25秒,仿真过程中Timed-Based Linearization模块会在t=10s和t=20s时分别求出当前时刻控制系统的线性状态空间模型,并输出到基本工作空间中,存储其的结构体数组名为“<模型文件名>_Timed_Based_Linearization”,如下图所示(Ts并不是时刻值,时刻值记录在变量Operpoint中)。

(3)需要注意的是,该模块的仿真求解器需要是离散的,且仿真步长也是固定的。

三、其余几种模块

1、Model Info模型信息模块

(1)在建立模型时,有时需要给模型添加一些属性,比如创建者、创建日期、修改者、修改日期、版本号等,这时可以在模型文件中添加模型信息模块,将需要添加的属性配置进该模块即可。

(2)在下图所示的右侧输入窗口中可以编辑显示信息,除了“%<属性名>”会被替换为相应的文件属性以外,其它内容都会原封不动地显示到模型信息模块上,另外还可配置文本对齐方式(Horizontal text alignment)。

2、DocBlock文本模块

(1)文本模块的作用是在模型文件中添加注释,这和在C代码等代码中添加注释异曲同工。

(2)双击该模块,打开文本编辑器,在这里可以编辑注释。

这篇关于Matlab simulink建模与仿真 第十章(模型扩展功能库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147239

相关文章

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

MySQL中闪回功能的方案讨论及实现

《MySQL中闪回功能的方案讨论及实现》Oracle有一个闪回(flashback)功能,能够用户恢复误操作的数据,这篇文章主要来和大家讨论一下MySQL中支持闪回功能的方案,有需要的可以了解下... 目录1、 闪回的目标2、 无米无炊一3、 无米无炊二4、 演示5、小结oracle有一个闪回(flashb

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批