Simulink学习笔记6--Simulink动态系统仿真

本节主要解决7个问题
1.Simulink动态系统仿真过程
2.离散系统仿真
3.连续系统仿真
4.混合系统仿真
5.模型离散化
6.诊断仿真错误
7.改善仿真性能和精度

1.Simulink动态系统仿真过程

仿真一个动态系统是指利用模型信息计算一段时间内系统状态和输出的过程。Simulink模型的仿真过程包括:模型编译阶段和模型链接阶段。
1.1模型编译阶段
求模型中模块的表达式的值
确定模型中未明确指定的信号属性
展开子系统,平铺模型层次
优化模块
将模块进行排序,并排列仿真过程中模块的执行顺序
确定所有模块的采样时间
注:Simulink会在每个时间步内更新一次模型中模块的状态和输出,模块更新顺序是根据模块类型决定的,Simulink按照一定的方式对模型进行排序。

1.2模型链接阶段
内存分配
确定模块执行排序列表

1.3仿真循环阶段
仿真阶段有两个子阶段:循环初始化阶段和循环迭代阶段。
循环初始化阶段只执行一次,确定初始状态和输出。
循环迭代阶段在整个仿真过程中的每个时间步内都要重复一次,用以重新计算系统新的输入值、状态值和输出最终值。
Simulink在每个仿真时间步中都执行以下操作:
(1)按照模型的排列顺序,更新模型各种所有模块的输出,即执行Outputs方法。
(2)按照模型的排列顺序,更行模型中所有模块的状态,即调用Update方法(离散状态)或者Derivateives方法(连续状态)。
(3)检测模块连续状态中不连续性,例如过零检测
(4)计算下一个时间步的时间。

2.离散系统仿真

离散系统是包含离散状态的系统。Simulink可以仿真离散系统,包括组件间已不同的速率工作的系统(即多速率系统)和由离散组件和连续组件混合组成的系统(即混合系统)。
离散系统中,一个状态实际上是一个存储元素,它在一定的周期内保存输入或输出值,这个周期就是系统的采样时间。一个离散状态实际上存储的就是上一个采样时刻的信号值。
Simulink中所有的离散模块必须设定采样时间。
离散系统通常采用差分方程描述,因为系统当前时刻的输出与当时时刻的输入和过去时刻的输入输出有关。可以用Unit Delay(单位延时)模块实现一个时间步上的延时输入输出。
设置采样时间:0表示连续,-1表示继承,非零整数表示离散采样时间。
离散系统步长的确定:一般而言,离散系统的采样时间为系统实际采样时间的最大公约数,即基本采样时间。但是变步长可以改变步长,使步长大小等于实际采样时刻间的差值。

3.连续系统仿真

连续系统的输出是连续变化的,即连续系统以无穷小的时间间隔进行更新。
在Simulink中,实现微分方程的第一步是确定模型中所需要的Integrator模块的数目,因为积分器模块是建立微分方程的基础,一个积分器表示一阶微分。
线性连续系统可以用积分器、传递函数、状态空间表示,并利用这些仿真。

4.混合系统仿真

混合系统包含离散模块和连续模块组成,可以采用任意求解器仿真,变步长求解器充分考虑了仿真步长与离散采样时间相匹配的问题,所以对于混合系统应该选择一个变步长求解器,推荐使用ode45。

5.模型离散化

略。

6.诊断仿真错误

略。

7.改善仿真性能和精度

略。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值