计算方法大作业----------雅可比
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算方法大作业利用雅可比迭代求值
班级:021011
学号:********
姓名:***
利用雅可比迭代法解方程组
1231231
2352828321361x x x x x x x x x ++=⎧⎪
+-=⎨⎪--=⎩
一、雅可比迭代原理
线性方程组为了计算方便可以用矩阵表示,Ax=b 。一般当A 为低阶稠密矩阵时,用主元消去法解此方程组是有效方法。但是,对于由工程技术中产生的大型稀疏矩阵方程组,利用迭代法求解此方程组比较合适。雅克比迭代法就是众多迭代法中比较早且较简单的一种。
首先将方程组中的系数矩阵A 分解成三部分,即:A = L+D+U ,其中D 为对角阵,L 为下三角矩阵,U 为上三角矩阵。
211
2
000n n a L a a ⎡⎤
⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎦
⎣
1122
nn a a D a ⎡⎤
⎢⎥⎢
⎥=⎢⎥⎢⎥⎢⎦
⎣
1212000n n a a a U ⎡⎤
⎢
⎥⎢⎥=⎢⎥⎢⎥⎢⎦
⎣
之后确定迭代格式,X^(k+1) = B *X^(k) +f ,(这里^表示的是上标,括号内数字即迭代次数),其中B 称为迭代矩阵,雅克比迭代法中一般记为J 。(k = 0,1,......)。
再选取初始迭代向量X^(0),开始逐次迭代。
二、收敛性
设A x = b ,其中A=D+L+U 为非奇异矩阵,且对角阵D 也非奇异,则当迭代矩阵J 的ρ(J )<1时,雅克比迭代法收敛。
三、优缺点
雅克比迭代法的优点明显,计算公式简单,每迭代一次只需计算一次矩
阵和向量的乘法,且计算过程中原始矩阵A 始终不变,比较容易并行计算。然而这种迭代方式收敛速度较慢,而且占据的存储空间较大。
四、算法
设方程组A x = b 的系数矩阵的对角元素()1101,2,,a i n ≠=,M 为迭代次数
容许的最大值,ε 为容许误差。
1),取初始向量
()
(0)
(0)(0)1
2
,,
,T n x x x x
=,令k=0.
2),对i=1,2,……,n 计算
(1)
()1,1
()
n k k i i ij j j j i
ii x b a x a +=≠=-∑ 3),如果
(1)()1
n
k k i i i x x ε+=-<∑
,则输出(1)k x +,结束;否则执行 4)
4),如果
k M
≥,则不收敛,终止程序;否则
1k k ←+,转2)。
五、 程序
function Jacobi(A,b,max,eps)%max 为迭代次数容许的最大值,eps 为容许误差 A=[5 2 1;2 8 -3;1 -3 -6]; b=[8;21;1]; max=100; eps=0.000001; n=length(A); x=zeros(n,1); x1=zeros(n,1); k=0; while 1
x1(1)=(b(1)-A(1,2:n)*x(2:n,1))/A(1,1); for i=2:n-1
x1(i)=(b(i)-A(i,1:i-1)*x(1:i-1,1)-A(i,i+1:n)*x(i+1:n,1))/A(i,i); end
x1(n)=(b(n)-A(n,1:n-1)*x(1:n-1,1))/A(n,n); k=k+1;
if sum(abs(x1-x)) fprintf('number=%d\n',k); break; end if k>=max fprintf('The Method is disconvergent\n'); break; end x=x1; end if k for i=1:n fprintf('x[%d]=%f\n',i,x1(i)); end end 六、结果 1),容许误差是0.000001时的结果 调节容许误差为0.0001 结果如下: 调节容许误差为0.001时 结果如下: 七、 心得体会 通过雅可比迭代法最终我们可以判断出方程组的收敛性,但此方法并不 简单,需要我们掌握相关的迭代法则,及基本思想和算法步骤,并能对之加以灵活应用。从此实验中通过雅可比迭代法我们可以清楚地得出11A X b =方程组的雅可比迭代格式是收敛的,22A X b =的Jacobi 是不收敛的。 要想成功地完成此实验,不仅需要对与雅可比迭代法的相关知识熟悉掌握外,还必须要有不骄不躁,坚持耐心的精神。通过此实验我们可以看出雅可比迭代法在实际中的应用是非常广泛且很有用处的,所以我们需要对它的基本算法等加以牢固掌握以可以在实际中灵活运用。