主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

相对容差

解算器容差计算的相对容差

模型配置窗格: 求解器

描述

相对容差参数指定了相对于每个时间步长中每个状态的值的最大可接受求解器误差。如果相对误差超过该容差,求解器就会减小步长。

在每个时间步,求解器:

  • 计算每个状态的值

  • 估计每个状态计算中的误差

  • 使用相对容差、绝对容差和状态值确定每个状态的可接受误差

每个时间步长上每个状态的可接受误差由相对容差或绝对容差决定,以容差较大的那个为准。求解器通过将相对容差与状态值相乘来计算基于相对容差的可接受误差。

ei = reltol * |x|,

其中:

  • ei 是基于该时间步骤的相对容差的可接受误差。

  • reltol 是为相对容差参数指定的值。

  • x 是状态值。

ei 大于为绝对容差参数指定的值,相对容差决定了该时间步长上该状态的容差。当绝对容差大于 ei 时,绝对容差决定了该时间步长上该状态的容差。一般来说,当状态值接近于零时适用绝对容差。

有关详细信息,请参阅Error Tolerances for Variable-Step Solvers

当您配置引用模型以使用本地求解器时,引用模型的相对容差参数指定本地求解器容差计算的相对容差。 (自 R2025a 起)

依赖关系

要启用此参数,请进行如下设置:

  • 将求解器类型设置为变步长

  • 求解器参数设置为离散(无连续状态) 之外的值。

设置

1e-3 (默认) | auto | 正标量数值

相对容差表示变步长求解器的计算精度所允许的容差,以每个状态值的百分比表示。默认值 1e-3 表示每个时间步计算的状态值必须在 0.1% 范围内准确。

默认相对容差适用于大多数应用程序。降低相对容差可能会减慢仿真。

当您将相对容差指定为 auto 时,软件将使用默认值 1e-3

提示

为了评估仿真的准确性,将相对容差降低到 1e-4 并再次仿真模型。如果两次仿真的结果没有显著差异,则解决方案已经收敛。

编程用法

参数RelTol
类型:字符串 | 字符向量
值:正标量
默认值:"1e-3"

版本历史记录

在 R2006a 之前推出