simulink仿真全参数设置

上传人:hs****ma 文档编号:507617497 上传时间:2023-11-23 格式:DOCX 页数:9 大小:21.47KB
返回 下载 相关 举报
simulink仿真全参数设置_第1页
第1页 / 共9页
simulink仿真全参数设置_第2页
第2页 / 共9页
simulink仿真全参数设置_第3页
第3页 / 共9页
simulink仿真全参数设置_第4页
第4页 / 共9页
simulink仿真全参数设置_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《simulink仿真全参数设置》由会员分享,可在线阅读,更多相关《simulink仿真全参数设置(9页珍藏版)》请在金锄头文库上搜索。

1、1. 变步长(VariableStep)求解器可以选择的变步长求解器有:ode45, ode23, ode113, odel5s, ode23s和discret.缺 省情况下,具有状态的系统用的是ode45;没有状态的系统用的是discrete.1) ode45 基于显式 RungeKutta(4, 5)公式, DormandPrince 对.它是个单步 求解器(solver)。也就是说它在计算y(t n)时,仅仅利用前一步的计算结果y(t n-1).对 于大多数问题.在第一次仿真时、可用 ode45 试一下.2) ode23 是基于显式 RungeKutta(2, 3). Bogackt 和

2、 Shampine 对.对于宽误差 容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器.3) odell3是变阶Adams-BashforthMoult on PECE求解器.在误差容限比较严时, 它比 ode45 更有效. odell3 是一个多步求解器,即为了计算当前的结果 y(tn), 不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2), y(tn-3),;4) odel5s是基于数值微分公式(NDFs啲变阶求解器.它与后向微分公式BDFs(也叫 Gear方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个问 题是刚性的,或

3、者在用 ode45s 时仿真失败或不够有效时,可以试试 odel5s。 odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确, 但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大 的阶数减小到 2.选择 odel5s 求解器时,对话框中会显示这一参数.可以用 ode23 求解器代替。 del5s, ode23 是定步长、低阶求解器.5) ode23s 是基于一个 2 阶改进的 Rosenbrock 公式.因为它是一个单步求解器, 所以对于宽误差容限,它比 odel5s 更有效.对于一些用 odel5s 不是很有效的刚 性问题,可以用它解决.6) od

4、e23t是使用“自由”内插式梯形规则来实现的.如果问题是适度刚性,而且 需要没有数字阻尼的结果,可采用该求解器.7) ode23tb 是使用 TRBDF2 来实现的,即基于隐式 RungeKutta 公式,其第一 级是梯形规则步长和第二级是二阶反向微分公式.两级计算使用相同的迭代矩 阵.与 ode23s 相似,对于宽误差容限,它比 odtl5s 更有效.8) discrete(变步长)是simulink在检测到模型中没有连续状态时所选择的一种求解 器.2. 定步长(FlxedStep)求解器 可以选择的定步长求解器有:ode5, ode4, ode3, ode2,ode1 和 discrete

5、1)ode5 是 ode45 的一个定步长版本,基于 DormandPrince 公式2)ode4 是 RK4,基于四阶 RungeKutta 公式.3)ode3 是 ode23 的定步长版本,基于 Bogacki-Sbampine 公式4)ode2是Heun方法,也叫作改进Euler公式.5)odel 是 Euler 方法.6)discrete(定步长)是不执行积分的定步长求解器.它适用于没有状态的模型,以 及对过零点检测和误差控制不重要的模型.3. 诊断页(Diag no stics) 可以通过选择Simulation Parameters对话框的Diagnostics标签来指明在仿真期间

6、 遇到一些事件或者条件时希望执行的动作. 对于每一事件类型,可以选择是否 需要提示消息,是警告消息还是错误消息.警告消息不会终止仿真,而错误消息 则会中止仿真的运行.(1)一致性检查 一致性检查是一个调试工具.用它可以验证 Simulink 的 0DE 求解器所做的某些假设.它的主要用途是确保s函数遵循Simulink内建模块所遵 循的规则.因为一致性检查会导致性能的大幅度下阵(高达 40),所以一般应将 它设为关的状态.使用一致性检查可以验证s函数,并有助于确定导致意外仿真 结果的原因. 为了执行高效的积分运算, Simulink 保存一些时间步的结果,并 提供给下一时间步使用.例如,某一时

7、间步结束的导数通常可以放下一时间步开 始时再使用.求解器利用这一点可以防止多余的导数运算. 一致性检查的另一 个目的是保证当模块被以一个给定的t(时间)值调用时.它产生一常量输出.这 对于刚性求解器(ode23s和odel5s)非常重要,因为当计算Jacobi行列式时.模块 的输出函数可能会被以相同的t值调用多次.如果选择了一致性检查,Simulink 置新计算某些值,并将它们与保存在内存中的值进行比较,如果这些值有不相同 的,将会产生一致性错误. Simulink 比较下列量的计算值: 1)输出; 2)过零 点 3)导数; 4)状态.(2)关闭过零点检测 可以关闭一个仿真的过零点检测.对于一

8、个有过零点的模 型,关闭过零点检测会加快仿真的速度,但是可能影响仿真结果的精度.这一选 项关闭那些本来就有过零点检测的模块的过零点检测.它不能关闭 Hir crossing 模块的过零点检测(3)关闭优化 I/O 存储选择该选项,将导致Simulink为每个模块约I / ()值分配单独的缓存,而不是重新 利用援存这样可以充分增加大模型仿真所需内存的数量只有需要调试模型时 才选择该选项.在下列情况下,应当关闭缓存再利用;1)调试一个C-MEX S-函 数;2)使用浮点scope或display模块来察看调试模型中的信号.如果缓存再利 用打开,并且试图使用浮点scope或display模块来显示缓

9、存已被再利用的信号, 将会打开一个错误对话框.(4) 放松逻辑类型检验 选择该选项,可使要求逻辑类型输入的模块接受双精 度类型输入.这样可保证与Simulink 3版本之前的模型的兼容性.4. 提高仿真性能和精度 仿值性能相精度由多种因素决定,包括模型的设计和仿 真参数的选择.求解器使用它们的缺省参数值可以使大多数模型的仿真比较精确 有效,然而,对于一些模型如果调整求解器相仿真参数将会产生更好的结果.而 且,如果对模型的性能比较熟悉,并且将这些信息提供给求解器,得到的仿真效 果将会提高。(1)加快仿真速度 仿真速度慢的原因有多种.下面列举其中的一些:1)模型中包含有MATLAB的Fen模块当模

10、型包含有MATLAB的Fen模块时,在 仿真的每一时间步都会调用MATLAB的解释器,这将大大地减慢仿真的速度.因 此应尽可能地使用内建的Fen模块或者Elementary Math模块.2)模型中包含有M文件形式的S函数.M文件形式的S函数也将导致在每一时 间步调用MATLAB的解释器.可以考虑将s函数转换为子系统或者e-MEx文件形 式的 s 函数.3)模型中包含有Memory模块.使用Memory模块使得变阶求解器(odel5s和odell3) 在每一时间步将阶数设为1阶.4)最大的步长太小.如果改变了最大步长.可以试试重新使用缺省值(auto)运行 仿真。5)对精度要求太高.缺省的相对

11、容差(0.1)通常已经足够了.对于状态值趋于 0 的模型.如果绝对容差设得太小.仿真时状态值在零点附近会花去太多的时间 步.6)时间尺度可能太长减小时间间隔;刀问题可能是刚性的.而使用的是非刚性求解器.这时可用odel5s试一下;8)模型使用的采样时间相互之间不成倍数关系相互之间不成倍数的混合采样时 间会导致求解器采用足够小的步长,以保证采样时间符合所有的采样时间要求9)模型包含有代数循环在每一时间步都会反复计算代数循环,因此这会大大地 降低仿真的性能10)模型中将Random Number模块的输出传给了 Intergrator模块.对于连续系 统,在 Sources 库中使用 Bondli

12、mited Noise 模块.(2)改进仿真精度 要检查仿真的精度.仿真运行一段时间以后,减小相对容差 到 1e-4 或者减小绝对容差,并重新运行它.比较两次仿真的结果.如果它们之 间没有很大的差别,可以确信结果收敛. 如果经过一段时间后,仿真结果变得 不稳定,可能是如下原因:1)系统可能不稳定.2)如果使用的是odel5s,可能需要将最大的阶数限制在2阶(求解器稳定的最大阶 数),或者试试用 ode23s 求解器.如果仿真结果看起来不是很精确,可能是: 1)对于一个拥有趋于零的状态值的模型,如果绝对容差设得太大,仿真在零状态 值附近花的步数太少.减小绝对容差的大小或者在Integrator对

13、话框中为每一个 状态分别调整绝对容差的设定.2)如果减小绝对容差不能有效地提高精度,减少相对容差的大小,减小步长, 增加步数.5. 处理复数信号在缺省状态下, simulink 信号值是实数.尽管如此,模型可以产生相处理具有复 数值的信号.可以采取以下任何一种方法在模型中引入复数值信号.1)由顶层瑞口从MATLAB工作空间向模型中装入复数值信号数据.2)在模型中产生一个常数模块,并设置其值为复数.3)产生实数信号分别对应于复数信号的实部和虚部.然后用实 -虚复数转换 (Real-Imag to Complex Con versio n)模块将各部连成复数信号.可以用接受复数的 模块来处理复数信

14、号,大多数 simulink 模块接受复数信导作为输入。一、设置仿真参数和选择解法器设置仿真参数和选择解法器,选择 Simulation 菜单下的 Parameters 命令,就会弹 出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。Solver 页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参 数及选择一些输出选项。Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。Diag no sties页,允许用户选择Simuli nk在仿真中显示的警告信息的等级。1、Solver 页 此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,

15、并设定它的 参数;选择输出项。仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时 间的一种表示,比如10 秒的仿真时间,如果采样步长定为0.1,则需要执行100 步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真 开始时间设为 0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要 耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计 算机时钟的速度等等。仿真步长模式:用户在 Type 后面的第一个下拉选项框中指定仿真的步长选取方 式,可供选择的有Variable-step (变步长)和Fixed-step (固定步长)方式。变步

16、长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式 在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户还可以在第二 个下拉选项框中选择对应模式下仿真所采用的算法。变步长模式解法器有:ode45, ode23,ode113,ode15s,ode23s,ode23t,ode23tb 和 discrete。ode45:缺省值,四/五阶龙格一库塔法,适用于大多数连续或离散系统,但不适 用于刚性(st iff)系统。它是单步解法器,也就是,在计算y(t n)时,它仅需要最 近处理时刻的结果y(t n-1)。一般来说,面对一个仿真问题最好是首先试试ode45。 ode23:二/三阶龙格一库塔法,它在误差限要求不高和求解的问题不太难的情况 下,可能会比ode45更有效

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号