迭代方法G-S迭代SOR方法107.0763e-004NaN0.03200.033620105.2819NaN0.04360.042130228.2379NaN0.03700.040140467.7335NaN0.05830.0513501.6975e+003NaN0.08530.0529Hilbert矩阵的2■范数条件数随着矩阵阶数的增人的变化如下表所示n1()203040502■范数条件数1.60E+131.64E+181.69E+198.45E+188.99E+18分析由以上两表可知,随着Hilbert矩阵维数的增大,矩阵的条件数逐渐增大,方程的病态越来越严重。在矩阵的维数较小时,Gauss消去法可以得到较准确的解,但随着矩阵维数的增大,Gauss消去法得到的解的误差越来越大,使得到的结果完全不可信。而J法的谱半径一直大于1,一直不收敛。G・S迭代法和SOR法得到的解的误差一直较小,可以得到较为准确的解,并且SOR方法得到的解的误差一直小于同阶数下G-S法得到的解的误差,但两者相差并不是很大。病态方程因为所得解的误差对系数矩阵和常数项的误差以及计算过程中的舍入误差敏感,所以难于求解。使用Gauss消去法虽然可以在矩阵阶数较小、矩阵的条件数较小时得到较为准确的解。但是随着矩阵阶数的增大,矩阵条件数的增大,Gauss消去法得到解的误差越来越大。当方程病态特别严重时,Gauss消去法得到的解将完全不可信。所以对病态方程,一般采用迭代算法。在选取迭代算法时,应该选取迭代矩阵的谱半径远小于1的算法,这样收敛的速度快、计算的步骤少,所得解的误差也较小。在迭代过程中,使用更大的计算机的字长,可以减小舍入误差。为了更有效地求解病态方程,一般将病态方程进行预处理,降低方程组的条件数之后再进行迭代计算。如对病态方程组Ax=b,找到可逆矩阵耳和将方程化为JD^AD^y=D、b[y=D;lx