当前位置:首页 >> 信息与通信 >>

simulink中的solver各选项表示的意思



构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启 动仿真和仿真结果分析。 一、设置仿真参数和选择解法器 设置仿真参数和选择解法器,选择 Simulation 菜单下的 Parameters 命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真 的参数。 Solver 页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。 Workspace I/O 页,作用是管理模型从 MATLAB 工作空间的输入和对它的输出。 Diagnostics 页,允许用户选择 Simulink 在仿真中显示的警告信息的等级。 1、Solver 页 此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,并设定它的参数;选择输出项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如 10 秒的仿真时间,如果采样步长定 为 0.1,则需要执行 100 步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为 0,而结束时间视 不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时 钟的速度等等。 仿真步长模式:用户在 Type 后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有 Variable-step(变步长)和 Fixed-step (固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长, 不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。 变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb 和 discrete。 ode45:缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计 算 y(tn)时,它仅需要最近处理时刻的结果 y(tn-1)。一般来说,面对一个仿真问题最好是首先试试 ode45。 ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比 ode45 更有效。也是一个单步解法器。 ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比 ode45 有效。ode113 是一种多步解法器,也就是在计算当 前时刻输出时,它需要以前多个时刻的解。 ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的, 或者不能使用 ode45,或者即使使用效果也不好,就可以用 ode15s。 ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于 ode15s。它能解决某些 ode15s 所不能有效解决的 sti ff 问题。 ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度 stiff 的问题而用户又需要一个无数字振荡的解法器的情况。 ode23tb:是 TR-BDF2 的一种实现, TR-BDF2 是具有两个阶段的隐式龙格-库塔公式。 discrtet:当 Simulink 检查到模型没有连续状态时使用它。 固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1 和 discrete。 ode5:缺省值,是 ode45 的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。 ode4:四阶龙格-库塔法,具有一定的计算精度。 ode3:固定步长的二/三阶龙格-库塔法。 ode2:改进的欧拉法。 ode1:欧拉法。 discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。 步长参数:对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值 auto 表示。 Maximum step size(最大步长参数):它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个仿真过程中至 少取 50 个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超 过 15s 的采用默认值即可,对于超过 15s 的每秒至少保证 5 个采样点,对于超过 100s 的,每秒至少保证 3 个采样点。 Initial step size(初始步长参数):一般建议使用“auto”默认值即可。 仿真精度的定义(对于变步长模式) Relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为 1e-3,表示状态的计算值要精确到 0.1%。

Absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了 auto,那么 simulink 为每一个状态设置初始绝对误差为 1e-6。

Mode(固定步长模式选择) Multitasking:选择这种模式时,当 simulink 检测到模块间非法的采样速率转换,它会给出错误提示。所谓的非法采样速率转换指两个工 作在不同采样速率的模块之间的直接连接。在实时多任务系统中,如果任务之间存在非法采样速率转换,那么就有可能出现一个模块的 输出在另一个模块需要时却无法利用的情况。 通过检查这种转换, Multitasking 将有助于用户建立一个符合现实的多任务系统的有效模型。 使用速率转换模块可以减少模型中的非法速率转换。Simulink 提供了两个这样的模块:unit delay 模块和 zero-order hold 模块。 对于从慢速率到快速率的非法转换,可以在慢输出端口和快输入端口插入一个单位延时 unit delay 模块。而对于快速率到慢速率的转换, 则可以插入一个零阶采样保持器 zero-order hold。 Singletasking:这种模式不检查模块间的速率转换,它在建立单任务系统模型时非常有用,在这种系统就不存在任务同步问题。 Auto:这种模式,simulink 会根据模型中模块的采样速率是否一致,自动决定切换到 multitasking 和 singletasking。

输出选项 Refine output:这个选项可以理解成精细输出,其意义是在仿真输出太稀松时,simulink 会产生额外的精细输出,这一点就像插值处理 一样。用户可以在 refine factor 设置仿真时间步间插入的输出点数。 产生更光滑的输出曲线,改变精细因子比减小仿真步长更有效。精细输出只能在变步长模式中才能使用,并且在 ode45 效果最好。 Produce additional output:它允许用户直接指定产生输出的时间点。一旦选择了该项,则在它的右边出现一个 output times 编辑框, 在这里用户指定额外的仿真输出点,它既可以是一个时间向量,也可以是表达式。与精细因子相比,这个选项会改变仿真的步长。 Produce specified output only:它的意思是让 simulink 只在指定的时间点上产生输出。为此解法器要调整仿真步长以使之和指定的时间 点重合。这个选项在比较不同的仿真时可以确保它们在相同的时间输出。


相关文章:
SIMULINK仿真的运行_图文
用户在 Type 后面的第一个下拉选项框中指定仿真的...它的意思是让 simulink 只在指定的时间点 上产生...Solver:解法器的选择。 MaxRows:默认值为 0,表示...
Simulink中连续与离散模型的区别_图文
Simulink中连续与离散模型的区别_电子/电路_工程科技...(就是定时计算差分方程的意思) QQ 截图 ...以下是它的仿真 solver(ODE 表示常微分方法) image...
Simulink——求解器(Solver)相关理论
Simulink——求解器(Solver)相关理论_电力/水利_工程...(变步长)是 simulink 在检测到模型中没有连续状态...(4) 放松逻辑类型检验 选择该选项,可使要求逻辑...
MatlabSimulink仿真注意事项
MatlabSimulink仿真注意事项_计算机软件及应用_IT/...意思是说系统的输出或可变采样时间是否受到输入的控制...这里面的每个模型都需要 solver configuration 模块,...
MATLAB simulink中的基本模块的参数、含义、应用
MATLAB simulink中的基本模块的参数、含义、应用_...您可以模拟饱和的核 心不是简单地通过在参数菜单中...代码重用子系统 一个子系统块代表的系统, 它其中...
各solver的含义以及适用范围
simulink 里的各 solver 的含义以及适用范围 simulink 里的各 solver 的含义以及适用范围: 总结:ode45 绝对是第一选择,当你弄不清情况的时候都可以选它。但是如果...
simulink步长设置
Dormand—Prince 对.它是—个单 步求解器(solver)...后面的第一个下拉选项框中指定仿真的步长选取方式,...它的意思是让 simulink 只在指定的时间点上产生输出...
simulink仿真参数设置
选择该选项, 将导致 Simulink 为每个模块约 I/()...Solver 页,它允许用户设置仿真的开始和结束时间,选择...只是计算机仿真中对时 间的一种表示,比如 10 秒的...
Simulink中的常见问题
Edit 下有 copy model 选项 simulink 中的 mask ...我的意思是就像在 VC 中那样,按下任 意键后就有...time workshop (solover change to fixed solver) ...
Simulink的使用
然后点击 Simulink 库浏览器的工 具条中的“打开...为方便观察各个模块的名称及其数据,鼠标选取菜单 ...1.SolverSolver 页包括三个方面的设置内容:...
更多相关标签: