MATLAB实现Jacobi 迭代法,Gauss-Seidel 迭代法,逐次超松弛迭代法,共轭梯度法
求解线性⽅方程组 Ax=b,其中 A 为 nxn 维的已知矩阵,b 为 n 维的已 知向量,x 为 n 维的未知向量。 (1)Jacobi 迭代法。 (2)Gauss-Seidel 迭代法。 (3)逐次超松弛迭代法。 (4)共轭梯度法。 A 为对称正定矩阵,其特征值服从独⽴同分布的[0,1]间的均匀分布;b 中的元素服从独立同 分布的正态分布。令 n=10、50、100、200,分别绘制出算法的收敛曲线,横坐标为迭代步 数,纵坐标为相对误差。比较 Jacobi 迭代法、Gauss-Seidel 迭代法、逐次超松弛迭代法、 共轭梯度法与高斯消去法、列主元消去法的计算时间。改变逐次超松弛迭代法的松弛因⼦, 分析其对收敛速度的影响。
用户评论