解线性方程组的迭代法收敛速度

  • 格式:pdf
  • 大小:241.61 KB
  • 文档页数:2

实验六 解线性方程组的迭代法收敛速度.
一、实验内容
(1)选取不同的初始向量)0(x ,在给定的迭代误差要求下,用雅可比迭代和高斯-赛德尔迭代法法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论.
(2)用SOR 迭代法求上述方程组的解,松弛系数ω取1<ω<2的不同值,在给定的迭代误差要求下.记录迭代次数,分析计算结果并得出你的结论.
二、方法步骤
雅克比迭代法:
(1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,x (0)=(x 1(0),x 2(0)
,…,x n (0))T ,容许误差ε,最大容许迭代次数N.
(2)对i=1,2,3,…,n,置x i =x i
(0). (3)置k=1.
(4)对i=1,2,3,…,n,置
y i =1a ii (b i
−∑a ij x j n
j=1,j≠i ) (5)若max 1≤i≤≥n ‖y i −x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6).
(6)若k<N,置k+1== >k,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,停机。

高斯-塞德尔迭代法
(1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,,x (0)=(x 1(
0),x 2(0),…,x n (0))T ,容许
误差ε,最大容许迭代次数N.
(2)对i=1,2,3,…,n,置x i =x i (0)
.y i =x i .
(3)置k=1.
(4)对i=1,2,3,…,n,置
y i =1ii (b i
−∑a ij x j n
j=1,j≠i ) (5)若max 1≤i≤≥n ‖y i −x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6).
(6)若k<N,置k+1== >k,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,
停机。

三、实验结果
讨论的数据为:
④ A=ones(20,20)-diag(5*ones(20,1),0);
b=ones(20,1);wuch=1e-6;
(1)雅可比迭代法
谱半径为:p = 15.0000
收敛情况:发散
高斯-赛德尔迭代法
谱半径为:p = 15.0000
收敛情况:发散
(2)SOR迭代法
谱半径为:p = 15.0000
收敛情况:发散
迭代次数:100
ans = 1.0e+275 *
-0.0045
-0.0062
-0.0085
-0.0117
-0.0161
-0.0221
-0.0303
-0.0417
-0.0572
-0.0786
-0.1080
-0.1484
-0.2038
-0.2800
-0.3846
-0.5284
-0.7259
-0.9972
-1.3699
-1.8820
结论:当谱半径大于1时,雅可比迭代、高斯-赛德尔迭代、SOR迭代法均为发散的。