文档

解算器

描述

选择要用于在模拟或代码生成期间计算模型状态的求解器。

类别:解算器

设置

从这些类型中选择:

新模型的默认设置是VariableStepAuto

固定的解决者

默认值:FixedStepAuto

一般来说,所有的固定步长求解器,除了ode 14 x计算下一步:

Xn+ 1) =Xn) +hdXn

在哪里X是国家,h是步长,和dX是状态导数。dXn由特定算法计算,根据方法的顺序使用一个或多个导数计算值。

汽车

使用自动求解器选择的固定步长求解器计算模型的状态。在模型编译时,汽车改变固定步长求解器,自动求解器根据模型动力学选择。单击模型右下角的求解器超链接,接受或更改此选择。

ode3 (Bogacki-Shampine)

将模型下一时刻的状态作为状态当前值和状态导数的显式函数计算,使用Bogacki-Shampine公式积分技术计算状态导数。

离散(无连续状态)

通过在当前时间上增加一个固定的步长来计算下一个时间步长的时间。

将此求解器用于不包含状态或仅包含离散状态的模型,使用固定步长。依赖模型的块来更新离散状态。

结果模拟的准确性和时间长短取决于模拟所采取的步长:步长越小,结果越准确,但模拟所花费的时间越长。

请注意

固定步长离散求解器不能用于模拟具有连续状态的模型。

ode8 (Dormand-Prince RK8 (7))

采用八阶Dormand-Prince公式计算模型下一个时间步的状态,将其作为状态当前值和在中间点近似的状态导数的显式函数。

ode5 (Dormand-Prince)

采用五阶Dormand-Prince公式计算模型下一个时间步的状态,将其作为状态的当前值和在中间点近似的状态导数的显式函数。

ode4(龙格-库塔)

采用四阶龙格-库塔(RK4)公式,将状态的当前值与状态导数显式函数,计算下一时刻的模型状态。

ode2(修)

采用Heun积分法,将状态的当前值和状态导数作为显式函数计算下一时刻的模型状态。

ode1(欧拉)

采用欧拉积分法,以状态当前值和状态导数的显式函数计算下一时刻的模型状态。这个解算器比高阶解算器需要更少的计算。然而,它提供的准确性相对较低。

ode14x(外推)

使用牛顿的方法和从当前值外推的组合来计算模型的状态下一个时间步骤,作为一个隐式的状态函数和下一个时间阶的状态导数。在下面的例子中,X是国家,dX状态导数是和吗h为步长:

Xn+ 1) -Xn)-hdXn+ 1) = 0

这个求解器每步需要比显式求解器更多的计算,但是对于给定的步长更精确。

变步解决者

默认值:VariableStepAuto

汽车

使用自动求解器选择的可变步长求解器计算模型的状态。在模型编译时,汽车改变一个可变步长求解器,自动求解器选择基于模型动力学。单击模型右下角的求解器超链接,接受或更改此选择。

数值(Dormand-Prince)

使用显式龙格-库塔(4,5)公式(休眠-王子对)进行数值积分,计算模型在下一个时间步的状态。

数值是一步求解器,因此只需要前一个时间点的解。

使用数值作为大多数问题的第一次尝试。

离散(无连续状态)

通过添加步长来计算下一步的时间,步长根据模型状态的变化率而变化。

将此求解器用于没有状态或仅具有离散状态的模型,使用可变步长。

ode23 (Bogacki-Shampine)

使用显式龙格-库塔(2,3)公式(Bogacki-Shampine对)进行数值积分,计算模型在下一时刻的状态。

ode23是一步求解器,因此只需要前一个时间点的解。

ode23数值在粗公差和存在温和的刚度。

ode113(亚当斯)

使用变阶Adams-Bashforth-Moulton PECE数值积分技术计算模型在下一个时间步的状态。

ode113是一个多步解算器,因此一般需要前面几个时间点的解来计算当前的解。万博 尤文图斯

ode113可以比数值在严格的公差。

ode15s(硬/ NDF)

使用变阶数值微分公式(ndf)计算模型在下一个时间步的状态。这些方法与后向微分公式(bdf)有关,但比后向微分公式(bdf)更有效,也被称为Gear方法。

ode15s是一个多步解算器,因此一般需要前面几个时间点的解来计算当前的解。万博 尤文图斯

ode15s对于困难的问题是有效的。试试这个解算器数值失败或效率低下。

ode23s(硬/国防部。。)

使用修正的2阶Rosenbrock公式计算模型的下一个时间步骤的状态。

ode23s是一步求解器,因此只需要前一个时间点的解。

ode23sode15s在粗公差,并能解决棘手的问题ode15s是无效的。

ode23t (Mod.硬/梯形)

使用带有“自由”插值的梯形规则实现来计算模型的下一个时间步骤的状态。

ode23t是一步求解器,因此只需要前一个时间点的解。

使用ode23t如果问题只是中等刚度,你需要一个没有数值阻尼的解。

ode23tb(硬/ TR-BDF2)

使用TR-BDF2的多步实现计算模型的下一个时间步骤的状态,第一阶段是带梯形规则的隐式龙格-库塔公式,第二阶段由二阶后向微分公式组成。通过构造,在计算这两个阶段时使用相同的迭代矩阵。

ode23tbode15s在粗公差,并能解决棘手的问题ode15s是无效的。

提示

  • 确定模型的最优解算器需要实验。有关深入讨论,请参见解算器类型

  • 最优解算器以最短的模拟时间平衡了可接受的精度。

  • 万博1manbetx®软件对没有状态或只有离散状态的模型使用离散解算器,即使您指定了一个连续解算器。

  • 步长越小,精度越高,但模拟时间也越长。

  • 计算复杂度的程度增加颂歌n,因为n增加。

  • 随着计算复杂度的增加,结果的准确性也会增加。

依赖关系

选择ode1(欧拉)ode2(蔚)颂歌3 (Bogacki-Shampine)ode4(龙格-库塔)颂歌5 (Dormand-Prince)颂8(Dormand Prince RK8(7))离散(无连续状态)固定步长求解器启用以下参数:

  • 固定步长(基本样本时间)

  • 周期性样本时间约束

  • 将每一个离散的速率视为一个单独的任务

  • 自动处理速率过渡的数据传输

  • 优先级值越高,任务优先级越高

选择ode14x(外推)启用以下参数:

  • 固定步长(基本样本时间)

  • 外推法秩序

  • 牛顿迭代次数

  • 周期性样本时间约束

  • 将每一个离散的速率视为一个单独的任务

  • 自动处理速率过渡的数据传输

  • 优先级值越高,任务优先级越高

选择离散(无连续状态)可变步长求解器启用以下参数:

  • 马克斯步长

  • 自动处理速率过渡的数据传输

  • 优先级值越高,任务优先级越高

  • 讨论二阶导数过零控制

  • 时间的宽容

  • 连续零交叉的个数

  • 算法

选择数值(Dormand-Prince)ode23 (Bogacki-Shampine)ode113(亚当斯),或ode23s(硬/国防部。。)启用以下参数:

  • 马克斯步长

  • 最小步长

  • 初始步长

  • 相对宽容

  • 绝对的宽容

  • 形状保存

  • 连续的最小步数

  • 自动处理速率过渡的数据传输

  • 优先级值越高,任务优先级越高

  • 讨论二阶导数过零控制

  • 时间的宽容

  • 连续零交叉的个数

  • 算法

选择ode15s(硬/ NDF)ode23t (Mod.硬/梯形,或ode23tb(硬/ TR-BDF2)启用以下参数:

  • 马克斯步长

  • 最小步长

  • 初始步长

  • 解算器复位方法

  • 连续的最小步数

  • 相对宽容

  • 绝对的宽容

  • 形状保存

  • 最大的订单

  • 自动处理速率过渡的数据传输

  • 优先级值越高,任务优先级越高

  • 讨论二阶导数过零控制

  • 时间的宽容

  • 连续零交叉的个数

  • 算法

命令行信息

参数:解算器
值:'FixedStepAuto' |' FixedStepDiscrete' |'ode8'| 'ode5' |' ode4' |' ode3' |' ode2' |' ode16 'ode14x'
默认值:“数值”

相关的话题

这个话题有用吗?