数值计算的误差分析基础
一、数值计算的近似
1.1建立数学模型时做的近似
在建立数学模型时,为了简化问题、提高计算效率或适应实际应用场景,常常需要对现实情况进行近似处理。这种近似处理是数学建模中不可或缺的一部分,但同时也需要权衡近似带来的误差与模型的实用性。以下是几种常见的近似方法及其应用场景:
-
线性化近似
在非线性系统中,直接求解往往非常复杂,因此常采用线性化近似。例如,在控制系统中,非线性动力学方程可以通过泰勒展开在平衡点附近进行线性化,从而简化分析和设计。
示例:在机械系统中,弹簧的力与位移关系通常是非线性的,但在小位移范围内,可以近似为线性关系 F = k x F = kx F=kx,其中 k k k) 为弹簧常数。 -
小角度近似
在涉及角度的模型中,当角度较小时,可以使用小角度近似来简化计算。例如,在单摆运动中,当摆角 θ \theta θ很小时,可以近似认为 sin θ ≈ θ \sin\theta \approx \theta sinθ≈θ和 cos θ ≈ 1 \cos\theta \approx 1 cosθ≈1。
应用场景:在物理实验中,小角度近似常用于分析简谐运动或波动现象。 -
忽略次要因素
在复杂系统中,某些因素对结果的影响较小,可以忽略不计。例如,在空气阻力对物体运动的影响中,当速度较低时,可以忽略空气阻力,仅考虑重力和初速度。
示例:在抛体运动中,若忽略空气阻力,物体的轨迹可以简化为抛物线。 -
离散化近似
在连续系统中,为了便于数值计算,常将连续变量离散化。例如,在求解微分方程时,可以使用有限差分法将连续的时间或空间变量离散为有限个点。
应用场景:在流体力学中,通过离散化网格来模拟流体的运动。 -
统计近似
在涉及随机变量的模型中,常使用统计近似来简化计算。例如,在大样本情况下,可以使用中心极限定理将复杂分布近似为正态分布。
示例:在质量控制中,产品的尺寸分布可以近似为正态分布,以便进行统计分析。 -
几何近似
在涉及复杂几何形状的模型中,可以使用简单的几何形状进行近似。例如,在计算地球表面两点间的距离时,可以将地球近似为球体。
应用场景:在地理信息系统中,几何近似常用于简化地图数据的处理。 -
时间尺度分离
在动态系统中,若某些变量的变化速度远快于其他变量,可以采用时间尺度分离的近似方法。例如,在化学反应动力学中,快速反应的中间产物可以假设为瞬时达到平衡。
示例:在酶催化反应中,底物与酶的结合过程可以假设为快速平衡。 -
边界条件近似
在求解偏微分方程时,边界条件的复杂性可能导致求解困难,因此常采用简化的边界条件。例如,在热传导问题中,可以将复杂的热边界条件近似为恒温或绝热条件。
应用场景:在工程热力学中,边界条件近似常用于简化热传导或对流问题的分析。
近似处理在数学建模中具有重要作用,但需要根据具体问题选择合适的近似方法,并评估近似带来的误差是否在可接受范围内。通过合理的近似,可以在保证模型精度的同时,显著降低计算复杂度,提高模型的实用性。在建立数学模型时,为了简化问题、提高计算效率或适应实际应用场景,常常需要对现实情况进行近似处理。这种近似处理是数学建模中不可或缺的一部分,但同时也需要权衡近似带来的误差与模型的实用性。以下是几种常见的近似方法及其应用场景:
近似处理在数学建模中具有重要作用,但需要根据具体问题选择合适的近似方法,并评估近似带来的误差是否在可接受范围内。通过合理的近似,可以在保证模型精度的同时,显著降低计算复杂度,提高模型的实用性。
1.2经验或测量造成的数据误差
在科学研究和工程实践中,经验或测量造成的数据误差是不可避免的,主要可以分为系统误差、随机误差和粗大误差三类。
系统误差是由于测量仪器、测量方法或环境条件等因素引起的误差,具有重复性和方向性。例如,使用未校准的温度计进行测量,会导致所有读数都偏高或偏低。系统误差可以通过校准仪器、改进测量方法或引入修正因子来减少。
随机误差是由于测量过程中不可控的随机因素引起的误差,具有不可预测性和无规律性。例如,在测量长度时,由于测量者的手部抖动或环境温度的变化,可能导致每次测量的结果略有不同。随机误差通常服从正态分布,可以通过多次测量取平均值来减小其影响。
粗大误差是由于测量者的操作失误、仪器故障或记录错误等原因引起的明显偏离真实值的误差。例如,在记录数据时误将小数点位置写错,导致数据严重失真。粗大误差可以通过仔细检查测量过程和数据记录来避免,一旦发现应予以剔除。
在实际应用中,为了减少数据误差,通常需要采取以下步骤:
- 校准仪器:定期对测量仪器进行校准,确保其精度和准确性。
- 多次测量:对同一量进行多次测量,取平均值以减小随机误差。
- 环境控制:在测量过程中控制环境条件,如温度、湿度等,以减少系统误差。
- 数据审查:对测量数据进行仔细审查,及时发现并剔除粗大误差。
通过以上措施,可以有效降低经验或测量造成的数据误差,提高数据的可靠性和准确性。
二、计算误差的方法
2.1 截断误差或方法误差
截断误差(Truncation Error)或方法误差(Numerical Method Error)是数值分析中的一个重要概念,主要用于描述在数值计算过程中,由于采用近似方法代替精确数学表达式而引入的误差。这种误差通常源于数值方法的固有特性,而非计算过程中的随机因素。
定义
截断误差是指在使用数值方法求解数学问题时,由于将无限过程截断为有限步骤或使用近似公式代替精确公式而产生的误差。例如,在泰勒级数展开中,通常只保留前几项,而忽略高阶无穷小项,这种省略就会引入截断误差。
产生原因
- 有限步长:在数值积分或微分中,步长的选择会影响结果的精度。步长越大,误差越大。
- 近似公式:如使用有限差分法近似导数,或用梯形法则近似积分,都会引入截断误差。
- 迭代终止条件:在迭代法中,由于计算资源或时间限制,可能在未达到精确解时终止迭代,导致误差。
数学表达
以泰勒级数为例,假设函数 ( f(x) ) 在点 ( a ) 处的泰勒展开为:
f
(
x
)
=
f
(
a
)
+
f
′
(
a
)
(
x
−
a
)
+
f
′
′
(
a
)
2
!
(
x
−
a
)
2
+
⋯
f(x) = f(a) + f'(a)(x - a) +\frac{f''(a)}{2!}(x - a)^2 + \cdots
f(x)=f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2+⋯
如果只保留前两项,截断误差为:
R
n
(
x
)
=
f
′
′
(
ξ
)
2
!
(
x
−
a
)
2
R_n(x) = \frac{f''(\xi)}{2!}(x - a)^2
Rn(x)=2!f′′(ξ)(x−a)2
其中
ξ
\xi
ξ介于
a
a
a和
x
x
x 之间。
示例
- 数值积分:使用梯形法则计算
∫
a
b
f
(
x
)
d
x
\int_a^b f(x) dx
∫abf(x)dx 时,截断误差为:
E T = − ( b − a ) 3 12 f ′ ′ ( ξ ) E_T = -\frac{(b - a)^3}{12} f''(\xi) ET=−12(b−a)3f′′(ξ) - 有限差分法:用中心差分近似导数
f
′
(
x
)
f'(x)
f′(x),截断误差为:
E C = − h 2 6 f ′ ′ ′ ( ξ ) E_C = -\frac{h^2}{6} f'''(\xi) EC=−6h2f′′′(ξ)
其中 h h h 为步长。
控制方法
- 减小步长:在保证计算效率的前提下,尽可能减小步长。
- 高阶方法:使用更高阶的数值方法,如龙格-库塔法代替欧拉法。
- 误差估计与校正:通过误差估计和校正步骤,逐步减少误差。
应用场景
截断误差广泛存在于各种数值模拟和计算中,如:
- 工程计算:结构力学中的有限元分析。
- 物理模拟:流体动力学中的数值解法。
- 金融建模:期权定价中的蒙特卡洛模拟。
理解并控制截断误差对于提高数值计算的精度和可靠性至关重要。
2.2 舍入误差
舍入误差是数值计算中不可避免的一种误差类型,主要由于计算机使用有限位数表示实数而产生。在计算机系统中,实数通常以浮点数的形式存储,而浮点数的精度受限于二进制表示的位数限制。例如,在IEEE 754标准的双精度浮点数中,一个实数仅用64位二进制数表示,其中1位用于符号,11位用于指数,52位用于尾数。由于这种有限的表示方式,许多实数无法被精确表示,只能通过舍入操作近似存储,从而引入舍入误差。
舍入误差的产生主要有以下几种情况:首先,当数值超出计算机的表示范围时,系统会自动进行截断或舍入。例如,将1/3(即0.3333…)存储在计算机中时,只能保留有限的位数,导致结果与真实值存在差异。其次,在数值计算过程中,连续的算术运算会累积舍入误差。例如,在计算1.0 + 1.0e-16时,由于浮点数的精度限制,较小的数值可能会被舍去,导致计算结果与预期不符。此外,在算法设计中,不当的数值处理方式也会放大舍入误差的影响。
舍入误差的大小与计算过程中使用的数值精度密切相关。在科学计算和工程应用中,舍入误差可能导致计算结果严重偏离真实值,特别是在涉及迭代运算或条件敏感的算法时。例如,在求解线性方程组时,舍入误差可能导致矩阵条件数的增长,进而影响解的精度;在数值积分中,舍入误差可能导致积分结果的累积偏差。
为了降低舍入误差的影响,可以采用多种策略。首先,使用更高精度的数据类型进行计算,如在双精度浮点数的基础上使用四倍精度浮点数。其次,采用数值稳定的算法,避免在计算过程中引入不必要的误差。例如,在求解线性方程组时,可以选择使用LU分解而不是直接求逆矩阵。此外,还可以通过数值分析技术,如误差补偿和舍入误差控制,来进一步提高计算精度。
在实际应用中,理解和管理舍入误差是确保计算结果可靠性的关键。
数值计算的近似
为了计算地球的表面积,可采用球体表面积的计算公式:
A
=
4
π
r
2
A=4\pi r^2
A=4πr2
其中,
r
r
r为球体半径,尝试分析一下哪几种近似影响计算的最后结果。
「解」这个述职求解过程包含以下几种近似过程。
(1)将地球看成近似球体,这是数学模型的近似。
(2)取半径
r
≈
6370
k
m
r\approx 6370km
r≈6370km,这可能是经验测量或迁移不计算得到的,存在数据误差。
(3)
π
\pi
π的值只能够取到有限位,这是数据误差。
(4)计算
4
π
r
2
4\pi r^2
4πr2设计浮点数的乘法,存在舍入误差(讲步骤(2)(3)中的数据输入计算机进行计算也存在舍入误差)。
最终计算出的地球表面积的准确度与所有这些近似都有关。
三、误差及其分类
3.1误差与有效数字
误差用来表示计算值(近似值)接近真实值(准确值)的程度,一般有如下定义。
定义1:设准确值
x
x
x对应的近似值为
x
^
\hat{x}
x^,则误差(
e
r
r
o
r
error
error)
e
(
x
^
)
=
x
^
−
x
e(\hat{x})=\hat{x}-x
e(x^)=x^−x
其中
e
(
x
^
)
e(\hat{x})
e(x^)叫绝对误差。
定义2:准确值
x
x
x对应的近似值为
x
^
\hat{x}
x^,则误差(
e
r
r
o
r
error
error)
e
r
(
x
)
=
x
^
−
x
x
e_r(x)=\frac{\hat{x}-x}{x}
er(x)=xx^−x
其中
e
r
(
x
)
e_r(x)
er(x)叫做相对误差。
关于这两个概念,应注意以下几点:
(1)绝对误差不是误差的绝对值,它可正,可负。
(2)如果真实值为0,则相对误差没有定义。
(3)相对误差通常用百分比形式表示,如果相对误差超过100%,一般认为计算结果完全错误。
(4)相对误差和近似值的关系也可以表示为:
近似值
=
真实值
×
(
1
+
相对误差
)
近似值=真实值\times (1+相对误差)
近似值=真实值×(1+相对误差)
还可以用如下的方式计算相对误差:
e
r
(
x
^
)
=
x
^
−
x
x
^
=
e
(
x
^
)
x
e_r(\hat{x})=\frac{\hat{x}-x}{\hat{x}}=\frac{e(\hat{x})}{x}
er(x^)=x^x^−x=xe(x^)
这与相对误差的定义有一些差别,但当
e
r
(
x
^
)
e_r(\hat{x})
er(x^)较小的时候,可忽略这种差别。按照公式可以先估计出误差限,然后除以近似值
x
^
\hat{x}
x^可以得到相对误差限。
3.2判断近似值的前n位有效数字正确
定理:设
x
^
\hat{x}
x^为
x
x
x的近似值,若
x
^
\hat{x}
x^前
p
p
p位有效数字
(
p
≥
1
)
(p\ge 1)
(p≥1)正确,则其相对误差满足:
∣
e
r
(
x
^
)
∣
<
1
d
0
×
1
0
−
p
+
1
|e_r(\hat{x})|<\frac{1}{d_0}\times 10^{-p+1}
∣er(x^)∣<d01×10−p+1
其中
d
0
d_0
d0为
x
^
\hat{x}
x^的第一位有效数字。