本文摘要(由AI生成):
本文研究了方程组解对系数误差的敏感性。方程组(1)的解在系数产生1%的相对误差后几乎不变,而方程组(2)的解则发生了显著变化。这是因为方程组(2)所表示的两条直线几乎平行,导致其对系数误差非常敏感,这种方程组称为病态方程组。对于病态方程组,处理原则包括采用高精度数值运算、预处理方法、特殊数值解法或改变原问题提法,以减轻数值不稳定性。这些研究对于数值分析和有限元编程具有重要意义。
对于方程组(1)
其精确解是x=1.0,y=0.0 。如图所示,点(1.0,0.0)是方程组所表示的两条直线的交点。
对于方程组(2)
其精确解是x=-1.5,y=0.5 。如图所示,点(-1.5,0.5)是方程组所表示的两条直线的交点。
现假设方程组(1)的系数a11产生了1%的相对误差,即3.00变成了3.03 。那么方程组的解变成了x=0.995,y=0.008,几乎和原来的解相同。假设方程组(2)的系数a11产生了1%的相对误差,即1.00变成了1.01 。那么方程组的解变成了x=1.789,y=0.193,和原方程组相比,发生了很大的变化,由此可见,方程组(2)对系数误差非常敏感。
实际上,方程组(2)所表示的两条直线几乎是相互平行的,所以方程组系数的微小变化都会使他们的交点产生较大变化。像方程组(2)这样的因系数的很小改变却导致解改变很大的方程组,称为病态方程组,称相应的系数矩阵A为病态矩阵。病态方程组对任何算法都将产生数值不稳定性。对病态方程组有四种处理原则:采用高精度的数值运算;采用预处理方法;采用特殊的数值解法或寻找出现病态的原因,改变原问题的提法。