matlab/simulink的仿真参数

18 篇文章 8 订阅
18 篇文章 66 订阅

在这里插入图片描述

Solver Options

首先要知道为什么要选择不同的求解器(可以简单理解成不同的算法)。

在simulink中,搭建好模型后,点击开始仿真,simulink会先把你搭建好的模型转变成微分方程组。对微分方程组进行求解,就可以得到你希望输出的变量的数值。

而对于不同类型、不同阶数的微分方程组,并不是一招鲜吃遍天的。举个例子,对于算法A,有一些系统太过简单,有一种算法B明明更快,没必要用A;有一些系统太过复杂或特殊,算法A(在合理的时间内)求不出解,需要换一种算法C。这就是为什么需要选择不同算法的原因。

如果你在仿真过程中,发现结果非常奇怪,不符合理论,除了粗心导致参数设置错误之外,还有可能是求解器的问题!

1 type

仿真类型,有Variable-step(变步长)和fixed-step(定步长)两种。

1.1 Variable-step(变步长)

变步长可以在仿真的过程中改变步长,提供误差控制和过零检测

1.1.1 Solver(算法)
  1. Ode45
  • 一种一步解法,即只要知道前一时间点的解,就可以立即计算当前时间点的方程解。

  • 采用四阶-五阶龙格库塔算法,它用4阶方法提供候选解,5阶方法控制误差,其整体截断误差为(Δx)^5。解决的是Nonstiff(非刚性)常微分方程

  • 对大多数仿真模型来说,首先使用ode45来解算模型是最佳的选择,所以在SIMULINK的算法选择中将ode45设为默认的算法。若长时间没结果,应该就是刚性的,可换用ode15s试试。

  1. ode23
  • 一种一步算法,用的是二阶龙格库塔算法,和ode45的基本思想是一致的。在容许误差和计算略带刚性的问题方面,该算法比ode45要好。反过来说,在精度方面,ode45更好一些。
  1. Ode113
  • 在误差要求很严时,ode113算法比ode45更适合。
  • ode113是一种多步算法,也就是需要知道前几个时间点的值,才能计算出当前时间点的值。
  1. Ode15s
  • 它是一种多步算法,当遇到带刚性(Stiff)问题时或者使用ode45算法不行时,可以试试这种算法。
  1. Ode23s
  • 在容许误差较大时,ode23s比ode15s有效,所以在解算一类带刚性的问题时用ode15s处理不行的话,可以用ode23s算法。
  1. Ode23t
  • 一种采用自由内插方法的梯形算法。
  • 如果模型有一定刚性,又要求解没有数值衰减时,可以使用这种算法。
  1. Ode23tb
  • 在容差比较大时,ode23tb和ode23t都比ode15s要好。
  1. Discrete
  • 这是处理离散系统(非连续系统)的算法。
1.1.2 Additional Options
  1. max step size
    最大步长。
  • 对于discrete的solver,默认值是模型中设置的最短采样时间。
  • 对于连续型的solver,默认值为总仿真时长/50,即整个仿真过程中至少取50个采样点。
  • 如果仿真时长为无限长(即stop time设为inf),默认值为0.2。
  • 对于Sine和Signal Generator 模块,默认值采用别的算法。
  • 如果模型包含周期性或近似周期性的行为,并且知道周期,那么将最大步长设置为该周期的某个部分(例如1/4)。
  1. min step size
    最小步长
  • 默认值是根据计算机的精度或何时发出warnings来自动调整的。
  • 如果采用更小的步长,使误差更小,模型会发出warnings,提示允许的误差够大,不需要用那么小的步长
  1. initial step size
    初始步长参数。一般建议使用auto即可。
  2. relative tolerance
    相对误差。误差相对于状态的值,是一个百分比,默认值为1e-3,表示状态的计算值要精确到0.1%
  3. absolute tolerance
    绝对误差。可以理解成状态值为0的时候,可以接受的最大误差。如果设置成auto,则为1e-6
  4. shape preservation
    字面理解为形状保存。意义是在每个时间步长采用导数来提高积分精度。有两个选项:
  • disable all 不要对任何信号进行shape preservation。
  • enable all 对所有信号进行shape preservation。
    大部分的模型是不需要shape preservation的,只有那些models having signals whose derivative exhibits a high rate of change才适合用shape preservation,而且会增加仿真时长

1.2 fixed-step(定步长)

定步长提供固定的步长,不提供误差控制和过零检测

1.2.1 Solver(算法)
  1. Ode5
    是仿真参数对话框的缺省值,是固定步长的ode45算法。适用于大多数连续或离散系统,不适用于刚性系统
  2. Ode4
    具有一定的计算精度
  3. Ode3
  4. Ode2
  5. ode1
  6. Discrete
    实现积分的固定步长解法,它适用于没有连续状态仅有离散状态模型的计算。
  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值