【Simulink专题】Simulink模型设置(一):求解器、数据导入/导出、数学和数据类型的设置
前言
Simulink中模型设置是关乎着整个模型的运行模式以及代码生成样式,不同的设置关乎着不同的结果,今天就给大家讲解下作者对整个模型设置的理解,有疑问的地方还需要大家多多指出,谢谢
使用版本:MATLAB 2022a
相关文章:
【Simulink专题】Simulink模型设置(二):诊断、硬件实现、模型引用、仿真目标
【Simulink专题】Simulink模型设置(三):代码生成
求解器
仿真时间:
开始时间与结束时间分别代表仿真模块的开始时间与停止时间,这部分设置中,指定仿真或生成的代码的开始时间,双精度值,以秒为单位,默认值为0.0,结束时间随着个人习惯设置而定,其中 inf 代表仿真停止时间为无限
注意:
1、 开始时间必须小于等于停止时间。
2、 具有初始条件的模块参数的值必须在指定的开始运行时间与初始条件设置相匹配。
3、 仿真时间与时钟时间不同。总仿真时间取决于模型的复杂度、求解器步长大小和计算机速度等因素。
求解器选择
求解器类型
选择用于模型仿真的求解器类型。包含:Variable-Step(变步长)、Fixed-Step(固定步长)。默认为可变步长。
当选择变步长求解器时,需要设置的参数如下:
1、 最大步长:解算器可以采用的最大步长;
2、 最小步长:解算器可以采用的最小步长;
3、 初始步长:解算器第一步采用的步长;
4、 相对容差:可接受的最大相对误差容限;
5、 绝对容差:可接受的最大绝对误差容限;
6、 形状保持:开启时使用微分信息提升积分的精确度;
7、 连续最小步数:当步长超出了最大步长或小于最小步长时称为步长违例,此选项用于设置连续出现步长违例的步数,一旦超过这个步数就报警或者报错。默认为1。
8、 过零控制:过零检测功能,对大部分模型而言,可以提升仿真速度,因为精确定位过零点,便可增大变步长解算器的步长。
9、 时间容差:时间容限,规定过零检测要在容限相关的时间范围内检测连续性,用于控制过零检测发生频度。
10、算法:指定一种过零检测的算法,分为自适应算法(Adaptive)与非自适应算法(Non-adaptive)
当选择固定步长求解器时,需要设置的参数如下:
1、 固定步长+:固定步长;
求解器
选择用于仿真或代码生成期间用于计算模型状态的求解器。
分类 | 步长 | 离散连续 | 显隐式 | 解算步数 | 阶数 |
---|---|---|---|---|---|
1 | 固定步长 | 离散 | 显式 | 单步 | 单阶 |
2 | 可变步长 | 连续 | 隐式 | 多步 | 多阶 |
对于固定步长,步长是固定常数,可变步长的步长在每一个采样点计算时都可能是变化的,具体增大还是减小取决于每个采样点模型状态值变化的快慢:当模型状态值变化很快时减小步长,反之增大步长。
模型用于生成嵌入式代码并下载到硬件中去实时执行,解算器必须采用固定步长,因为实时硬件的时钟源都是提供稳定频率的时钟源,无法提供变步长解算器的采样时刻计算方式。
固定步长求解器:
对于固定步长,没有误差控制,所以其计算精度完全靠步长大小来决定。步长越小,计算精度越高,花费的时间也越长。Simulink提供的算法从1阶欧拉算法到8阶Dormand-prince算法,在积分计算的复杂度上有区别。
可变步长求解器:
求解器 | 应用说明 |
---|---|
ode45(显式) | 推荐用于模型的首次仿真,该求解器具有最好的普遍适用性以及不错的精度。一般情况下比ode23具有更高的计算精度和速度,如果发现仿真运行速度极慢,很可能遇到了刚性模型,届时可以更换为隐式可变步长ode15s |
Ode23(显式) | 在误差要求不是特别严格或者模型中存在轻微刚性时具有比ode45更高的效率 |
ode113(显式) | 对于具有严格误差容限和计算密集的问题,此方法比ode45更适合更高效 |
ode15s(隐式) | 基于数值差分方程(NDFs)求解,产生雅克比矩阵,通常从阶数2开始尝试 |
ode23s(隐式) | 一步求解器,在粗差问题上比ode15s更高效。 |
ode23t(隐式) | 适用于无阻尼的中度刚性模型求解 |
ode23tb(隐式) | 与ode23s类似 |
数据导入/导出
1、输入:在仿真开始之前从工作区加载输入数据
2、初始状态:在仿真开始之前从工作区加载模型初始状态
3、时间:在仿真期间将仿真时间数据保存到指定的变量
4、状态:在仿真期间将状态数据保存到指定的变量
5、输出:在仿真期间将信号数据保存到指定的变量
6、最终状态:在仿真结束时的模型状态保存到指定的变量
7、格式:选择用于保存状态、输出和最终状态数据的数据格式
8、保存最终工作点:仿真结束时,similink会将完整的模型状态集保存到指定的MATLAB变量
9、信号记录:全局启用或禁用模型的信号日志记录
10、数据存储:全局启用或禁用模型的Datastores Memory模块变量的日志记录
11、将数据集数据记录到文件:将数据记录到MAT文件中
12、单一仿真输出:启用sim命令的单输出的时间
13、记录间隔:设置日志记录的时间间隔
14、在仿真数据检查其中记录所记录的goon工作区数据:指定在仿真暂停或完成时是否向仿真数据检查器发送记录的数据
数学和数据类型
1、非正规数的模拟行为:为算术运算的非正常结果指定所需的行为。需要定点设计器许可证。
2、使用针对行优先数组布局优化的算法:启用用于行主格式代码生成的算法和用于模拟的相应行主算法。
3、数据类型未定时默认使用的类型:如果Simulink®软件在数据类型传播期间无法推断信号的数据类型,则指定用于继承数据类型的默认数据类型。
4、使用除法进行定点净斜率计算:定点设计器软件在满足简单性和准确性的条件下,采用除法处理净斜率进行净斜率计算。
5、增益常熟继承无损的内置整数类型:当满足某些条件时,增益参数的数据类型为内置整数。
6、使用浮点乘法处理净斜率校正:定点设计器软件使用浮点乘法来执行浮点到定点转换的净斜率校正。
7、继承小于单精度的浮点输出类型:当输入是小于单个精度的浮点数据类型时,指定所需的继承输出数据类型行为。
8、应用程序生命周期(天):指定一个包含块的应用程序在计时器溢出之前应该能够执行多长时间(以天为单位),块取决于经过的时间或绝对时间。
9、将逻辑信号实现为布尔数据:控制生成逻辑信号的块的输出数据类型。
【Simulink专题】Simulink模型设置(一):求解器、数据导入/导出、数学和数据类型的设置相关推荐
- java自定义注解实现excel数据导入导出,设置单元格数据验证与生成省市区多列联动效果
本文通过自定义注解实现excel数据导入导出.以及设置excel文件中列数据验证,即用户在excel文件中输入数据时就可以对数据格式验证是否符合,节省了程序中过多的数据验证操作,注解还额外提供了一系列 ...
- Fluent的入门、边界条件设置、求解器(Solver)设置、湍流模型(Models)设置、UDF、物理模型等
感谢hepengfei2011的分享!谢谢! FLUENT入门01简介 FLUENT入门02求解器基础 FLUENT入门03边界条件 FLUENT入门04求解器设置 FLUENT入门05湍流模型 FL ...
- ansa打开catia文件_ANSA方便快捷的CAE求解器设置 ——ANSYS求解器模板
ANSA是最快捷的前处理软件,拥有广泛而完善的多种CAE求解器模板,其方便快捷的单级菜单操作,极大的缩短了前处理的工作时间,提高了CAE工程师的工作效率.ANSA中可以快捷的建立不同特征的面.单元.节 ...
- 2-2 组合优化问题-常用模型与通用求解器
组合优化问题常用模型 组合优化问题常常难以求解,我们可以把这些转化为目前已经有成熟求解器的模型. 1. 可满足性问题(Satisfiability, SAT) 上一节已经讲过,SAT 是一个 NPC ...
- MATLAB 自动数独求解器(导入图片自动求解)
做了一个导入图片自动求解数独的软件,不过由于目前是通过最小二乘法匹配数字的,所以导入图片中的数字最好不要是手写的..,图片大概就像这样: 使用效果: 完整代码: function sudokuApp ...
- 利用免费工具爬取关键词(数据)的豆瓣读书数据——八爪鱼爬取数据并导出到Excel/Mysql数据库设置示例——关键词:爬虫、读书、实用
目录 原始需求 需求解读 所需软件配置 软件介绍 八爪鱼 Excel Navicat Mysql 数据采集及保存 步骤1 探索搜索页面规律 步骤二 八爪鱼批量生成链接,添加参数(前缀+尾巴) 步骤 ...
- 【Simulink专题】Simulink模型设置(三):代码生成
前言 Simulink中模型设置是关乎着整个模型的运行模式以及代码生成样式,不同的设置关乎着不同的结果,今天就给大家讲解下作者对整个模型设置的理解,有疑问的地方还需要大家多多指出,谢谢 使用版本:MA ...
- Simulink求解器综合介绍
目录 1. 概要 2. Simulink求解器 2.1 Simulink仿真过程 2.2 Simulink求解器分类 2.3 Simulink仿真参数设置界面 3. 定步长求解器 fixed step ...
- NeurIPS 2022 | Stable Diffusion采样速度翻倍!清华提出扩散模型高效求解器
©作者 | 机器之心编辑部 来源 | 机器之心 清华大学计算机系朱军教授带领的 TSAIL 团队提出 DPM-Solver(NeurIPS 2022 Oral,约前 1.7%)和 DPM-Solver ...
最新文章
- 如何检查文件是否存在无例外?
- Gson解析JSON数据中动态未知字段key的方法
- mysql安装 经验_MySQL安装教程 这些经验不可多得
- HTML5画布如何设置线的样式?
- 项目实施双机热备备忘
- 2所“双一流”大学官宣:博士招生考试,延期!
- python可以下载百度文库_Python
- linux matplotlib 中文显示乱码
- Java8 Optional详解
- esp8266 从硬件开发到app制作的简单示例
- EXCEL ToDOLE宏病毒文件手工删除方法----高手飘过
- 开发工具 -- gcc编译器使用
- 以防遗忘001_通过斜率求垂直线段的端点,附Unity(UI image)画线
- Python 3 《Class》入门练习
- springMVC 面试题整理
- 商业世界里的“谈判”到底是什么
- 互联网日报 | 2月26日 星期五 | B站月均活跃用户突破2亿;返利网借壳上市获批;理想汽车首次实现季度盈利...
- openfoam CourantNo.H
- 微软提前发新版音乐播放器 阻击苹果新iPod
- 18个人生潜规则,你必须知道