您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 线性方程组直接解法迭代法-matlab实验
实验报告实验名称(教师填写)求解线性方程组实验目的(教师填写)掌握求解线性方程组的直接法与迭代法。实验题目(教师填写)完成以下两题:(1)用追赶法求Ax=b的解,其中2100224201,.0351300672Ab(2)用Jacobi方法求方程组Ax=b的解,要求()(1)31210,kkpxx(p=1或2或),其中1223111,2.2213Ab实验报告要求(教师填写)1.在实验内容与步骤中,填写基本的公式推导,之后根据推导出的公式编写程序,填入此栏。2.程序中应尽量写注释语言(中英文均可),例如:a=0;%对a附初值0fori=1:100%循环体从1到100,步长为1,开始循环a=a+I;%执行从1+2+…+100的加法过程end3.实验结果列出计算结果,或者作出图像。可以自由讨论所观察到的现象,如有疑问也可提出4.作业可已word文档发至scu_num_eng_experi@163.com,或者笔书后扫描成pdf文档发至上述邮箱。请在邮件标题上填好组长姓名、学号,在邮件正文中写组内所有成员的姓名、学号等,实验内容与步骤(学生填写)如果步骤较多,请自行加页(A4幅面)(1).用追赶法求Ax=b的解,其中2100224201,.0351300672Ab分析:Ax=b,其中A为三对角矩阵,A为严格对角占优矩阵,则Ax=b的解存在且唯一,所以对A进行LU分解,知L和U具有特殊形式,分别为L=1400013000120001lll,U=4000330002200011udududu,令A=4400333002220011bacbacbacb,a从a2开始为便于运算,为避免重复,使题目中的矩阵b为e,利用矩阵乘法及矩阵相等可得,),...,3,2(,/),...,2,1(1111nidlbuualbunicdiiiiiiiii,其中n=4,于是对Ax=e的求解转换为求解两个简单方程组yUxeLy,解Ly=e得),...,3,2(111niyleyeyiiii,解Ux=y得)1,...,2,1(/)(/1nniuxcyxuyxiiiiinnn程序:a=[0,2,3,6];%定义三个向量,将三条对角线上的值分别赋给这三个向量,注意,为便于循环,将第一条对角线(最下一条)上的值赋给a向量时从第二个元素开始赋值,即令a(1)为0b=[2,4,5,7];c=[1,2,1];e=[2,-1,3,2];%e向量为题设给出的常数向量,即题目中的bn=length(b);%取系数矩阵A主对角线元素个数fori=1:1:n-1%根据A=LU,求出矩阵L和U中的未知元素d(i)=c(i);endu(1)=b(1);fori=2:1:nl(i)=a(i)/u(i-1);u(i)=b(i)-l(i)*d(i-1);endy(1)=e(1);%根据Ly=e,Ux=y,求出向量x,即为方程的解fori=2:1:ny(i)=e(i)-l(i)*y(i-1);endx(n)=y(n)/u(n);fori=n-1:-1:1x(i)=(y(i)-d(i)*x(i+1))/u(i);endluyx(2).用Jacobi方法求方程组Ax=b的解,要求()(1)31210,kkpxx(p=1或2或),其中1223111,2.2213Ab分析:根据Jacobi迭代法,将A分解为L,D,UA=000100220100010001022001000122111221(L+D+U)X=b;bDxULDX11)(;gBxxkk)(1;通过计算10)(B,此迭代收敛。我们选Tx)0,0,0()0(代入迭代式中,求得)1(x,计算31)0()1(1)0()1(ixxxx判断31021,若是输出)1(x,否则,)1(xx,重新代入迭代式求解,直至求出满足条件的解为止程序:A=[1-22;-11-1;-2-21];B=[02-2;101;220];g=[3;-2;-3];x=[0;0;0];k=0;%迭代次数变量while1X=B*x+g;%迭代公式E=0;fori=1:3E=E+abs(X(i)-x(i));%计算X与x的误差endx=X;%将X赋值给x达到可迭代的目的k=k+1;%迭代次数的计算if(E=0.0005)%满足误差条件跳出循环,否则继续执行上述步骤break;endendXk实验结果与实验结论(1)实验结果:实验结论分析:追赶法的巧妙之处就是利用矩阵A为三对角矩阵实现LU矩阵的追赶求解,对于一个n阶三对角矩阵A,LU直接分解法运算量3nO,而追赶法仅需5n-4次运算,可见追赶法在解三对角矩阵的优越性是LU直接分解法不可比拟的。(2)实验结果实验结果与实验结论(学生填写)实验结论分析:1.当迭代系数矩阵B的谱半径小于1,对于所有初始矩阵X都收敛。2.我们选初始矩阵X=[0;0;0],迭代次数k=4,但选初始矩阵X=[0;1;0],迭代次数k=3;说明不同初始矩阵,收敛结果相同,收敛速度可能有所不同。3.注意:当迭代系数矩阵B的谱半不小于1,并不能说所有初始矩阵X都不收敛。姓名学号班级成绩教师姓名:时间:
本文标题:线性方程组直接解法迭代法-matlab实验
链接地址:https://www.777doc.com/doc-5136670 .html