《2022年2022年解线性方程组的直接法的Matlab实现 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年解线性方程组的直接法的Matlab实现 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、湖北民族学院数值分析实验报告实验名称解线性方程组的直接法的Matlab 实现实验时间2011 年 11 月 9 日姓名王亚敏班级0209408 学号020940807 成绩实验报告内容要求:一、实验目的与要求;二、实验内容;三、算法描述(数学原理或设计思路、计算公式、计算步骤);四、程序代码;五、数值结果;六、计算结果分析(如初值对结果的影响;不同方法的比较;该方法的特点和改进等);七、实验中出现的问题,解决方法及体会(整个实验过程中(包括程序编写,上机调试等)出现的问题及其处理等广泛的问题).一、实验目的与要求1掌握高斯消去法和追赶法的基本思路和迭代步骤;2培养编程与上机调试能力。二、实验内
2、容1编写用高斯消元法解线性方程组的MATLAB 程序,并求解下面的线性方程组,然后用逆矩阵解方程组的方法验证.(1)1231231230.1012.3043.5551.1831.3473.7124.6232.1372.8351.0725.6433.035xxxxxxxxx(2)12312312352828321361xxxxxxxxx2编写用追赶法解线性方程组的MATLAB 程序,并求解下面的线性方程组,然后用高斯消元法及逆矩阵解方程组的方法验证.(1)Ax=b,其中00001,2100012100012100012100012bA(2)3、算法描述(1)、高斯消元法高斯顺序消去法:设线性方程
3、组 AXb,对增广矩阵 A|b 顺序作初等行变换,使矩阵A化为上三角形矩阵,再回代,从而求得线性方程组的解1.消元过程设0)(kkka,对1,2,1nk计算名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -()()(1)()()(1)()()/,1,2,kkikikkkkkkijijikkjkkkiiikkmaaaam ai jkknbbm bK其中回代过程()()()()()1/1,2,1()/nnnnnnniiiiiijjiijixbainxbaxaK其中。(2)、逆矩阵因为 AX=b,得到11AAXA b,从而的1XA b,即可算出结果。(3)追赶法追赶法用于求解以
4、下形式的方程组(三对角方程组)dAx其中1,Tnddd,系数矩阵(三对角矩阵)11222111nnnnnbcabcabcabA系数矩阵 A 的元素满足1100 0(2,1)0iiiiinnbcbaca cinba第一步:实现 A=LU 的分解,按照递推公式1111/()iiiiic bcb a计算123,.:第二步:求解方程组LY=f,相应的递推公式11111/()/()iii iii iyf byf ayb a第三部:求解方程组UX=Y,相应的递推公式1()nniiiixyxyx求得 x 因为计算1231.n及1231.nyyyy的过程是追的过程,结出结果X。4、程序代码1、高斯消元func
5、tion RA,RB,n,X=gaus(A,b)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -B=A b;n=length(b);RA=rank(A);RB=rank(B);zhica=RB-RA;if zhica0,disp(请注意:因为RA=RB,所以此方程组无解.)return end if RA=RB if RA=n disp(请注意:因为RA=RB=n,所以此方程组有唯一解.)X=zeros(n,1);C=zeros(1,n+1);for p=1:n-1 for k=p+1:n m=B(k,p)/B(p,p);B(k,p:n+1)=B(k,p:n+1)-m*
6、B(p,p:n+1);end end b=B(1:n,n+1);A=B(1:n,1:n);X(n)=b(n)/A(n,n);for q=n-1:-1:1 X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)/A(q,q);end else disp(请注意:因为RA=RB A(-1)*b ans=-0.3982 0.0138 0.3351(2)A=5,2,1;2,8,-3;1,-3,-6;b=8;21;1;RA,RB,n,X=gauss2(A,b)请注意:因为RA=RB=n,所以此方程组有唯一解.RA=3 RB=3 n=3 X=1 2 -1 ans=名师资料总结-精品资料欢迎下
7、载-名师精心整理-第 4 页,共 7 页 -1.0000 2.0000 -1.0000 二、追赶法(1)a=0,-1,-1,-1,-1;b=2,2,2,2,2;c=-1,-1,-1,-1,0;f=1,0,0,0,0;x,y,beta=zhuiganfa(a,b,c,f)k x(k)y(k)beta(k)0 0.8333 0.5000 -0.5000 1 0.6667 0.3333 -0.6667 2 0.5000 0.2500 -0.7500 3 0.3333 0.2000 -0.8000 4 0.1667 0.1667 0.0000 x=0.8333 0.6667 0.5000 0.3333
8、 0.1667 y=0.5000 0.3333 0.2500 0.2000 0.1667 beta=-0.5000 -0.6667 -0.7500 -0.8000 0(2)a=0,1,1,2;b=2,3,1,1;c=1,1,1,0;f=1,2,2,0;x,y,beta=zhuiganfa(a,b,c,f)k x(k)y(k)beta(k)0 0.0000 0.5000 0.5000 1 1.0000 0.6000 0.4000 2 -1.0000 2.3333 1.6667 3 2.0000 2.0000 0.0000 x=0 1 -1 2 y=0.5000 0.6000 2.3333 2.0
9、000 beta=0.5000 0.4000 1.6667 0 高斯检验A=2,-1,0,0,0;-1,2,-1,0,0;0,-1,2,-1,0;0,0,-1,2,-1;0,0,0,-1,2;b=1,0,0,0,0;RA,RB,n,X=gauss2(A,b)请注意:因为RA=RB=n,所以此方程组有唯一解.名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -RA=5 RB=5 n=5 X=0.8333 0.6667 0.5000 0.3333 0.1667 逆矩阵检验A(-1)*b ans=0.8333 0.6667 0.5000 0.3333 0.1667(2)A=2,1
10、,0,0;1,3,1,0;0,1,1,1;0,0,2,1;b=1;2;2;0;RA,RB,n,X=gauss2(A,b)RA=4 RB=4 n=4 X=0 1.0000 -1.0000 2.0000 逆矩阵名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -A(-1)*b ans=-0.0000 1.0000 -1.0000 2.0000 六、结果分析高斯的计算步骤很多要进行一系列矩阵的计算,而且必须满足矩阵A的行、列相等才有唯一解,不然就会有不同的结果,而且计算时间很长,速度很慢,而追赶法计算比较快,不用进行矩阵的计算就可以得出结果。七、实验中出现的问题,解决方法及体会实 验 中 出 现 的 问 题,在 追 赶 法 进 行 计 算 的 时 候 注 意a、b矩 阵 的 编 写,例 如a=0,1,1,2;b=2,3,1,1;c=1,1,1,0;f=1,2,2,0;x,y,beta=zhuiganfa(a,b,c,f),若 将a=1,1,2,c=1,1,1这样写入程序就错误,要将a、c 补充完整,应该按上述所写,才能得出正确的答案。教师评语指导教师:年月日名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -