《Jacobi迭代法求解线性方程组实验报告》由会员分享,可在线阅读,更多相关《Jacobi迭代法求解线性方程组实验报告(6页珍藏版)》请在金锄头文库上搜索。
1、仿真平台与工具应用实践Jacobi 迭代法求解线性方程组实 验 报 告院 系: 专业班级: 姓 名: 学 号: 指导老师: 一、 实验目的熟悉 Jacobi 迭代法原理;学习使用 Jacobi 迭代法求解线性方程组;编程实现该方法;二、 实验内容应用 Jacobi 迭代法解如下线性方程组:,要求计算精度为152284731x710三、 实验过程(1) 、算法理论迭代格式的引出是依据迭代法的基本思想:构造一个向量系列Jacobi,使其收敛至某个极限 ,则 就是要求的方程组的准确解。nX*X*迭代i将方程组: nnnnbxaxa 21 222 121 )(在假设 ,改写成 0ia nnnn ngx
2、bxbx121 2232 1111 )(如果引用系数矩阵, 及向量 , , ,naA101nbBnxX1nb1ng1方程组(1)和(2)分别可写为: 及 ,这样就得到了bAB迭代格式 用 迭代解方程组 时,就可任意jcobi 01gBXkkjacoiAX取初值 带入迭代可知式 ,然后求 。但是, 比较大0Xk1 klimn的时候,写方程组 和 是很麻烦的,如果直接由 , 能直接得到 ,)(2bB就是矩阵与向量的运算了,那么如何得到 , 呢?实际上,如果引进非g Bg奇异对角矩阵 0ianaD 01将 分解成: 要求 的解,实质上就有A,AbAX而 是非奇异的,所以 存在,,)(XX 1D从而有
3、 我们在这里不妨令D,1就得到 迭代格式:,1AIBbg1jacobi gBXkk1(2)算法框图开始读入 ,bAx=P=(0,0,0)x=Bx+g输出结束调用jacobi()(3) 、算法程序m 文件:function x=jacobi(A,b,P,delta,n)N=length(b); %返回矩阵b 的最大长度for k=1:nfor j=1:Nx(j)=(b(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j);enderr=abs(norm(x-P); %求(x-P)模的绝对值P=x;if(err clear allA=4,-1,1;4,-8,1;-2,
4、1,5;b=7,-21,15;P=0,0,0;x=jacobi(A,b,P,1e-7,20)(4) 、算法实现用 迭代法求解方程组:jacobi 15228473231xx正常计算结果是 2,3,4 ,下面是程序输出结果:P =2.00004.00003.0000k =17err =9.3859e-008B =0 -0.1250 -0.2000-1.0000 0 -0.20000.5000 0.1250 0x =2.00004.00003.0000四、 实验体会MATLAB 是非常实用的软件,能够避免大量计算,简化我们的工作,带来便捷。通过本次试验,我了解了 MATLAB 软件,提高了解决实际问题的能力。五、 参考文献科学计算与数学建模实验报告_Jacobi 迭代法求解线性方程组