线性方程组直接实验..

上传人:新** 文档编号:423621013 上传时间:2022-08-12 格式:DOC 页数:10 大小:429KB
返回 下载 相关 举报
线性方程组直接实验.._第1页
第1页 / 共10页
线性方程组直接实验.._第2页
第2页 / 共10页
线性方程组直接实验.._第3页
第3页 / 共10页
线性方程组直接实验.._第4页
第4页 / 共10页
线性方程组直接实验.._第5页
第5页 / 共10页
点击查看更多>>
资源描述

《线性方程组直接实验..》由会员分享,可在线阅读,更多相关《线性方程组直接实验..(10页珍藏版)》请在金锄头文库上搜索。

1、3.2 线性方程组直接实验一、 实验目的 1掌握解线性方程组的几种基本常用的直接法,并能比较它们各自的优缺点;2能熟练地对方阵A进行三角分解;3利用LU分解法求解线性方程组,能够体会LU分解法的优点; 4会用追赶法求解三对角方程组,明白用追赶法解三对角方程组的优点。二、 实验题目1、用列主元法求解线性方程组: = 程序如下: A=0.001 2.000 3.000;-2.000 1.072 5.643;-1.000 3.172 4.623; b=1.000 3.000 2.000b = 1 3 2 x=magauss2(A,b);x结果为:ans = -0.4646 -0.0702 0.380

2、32、分别用列主元法和顺序高斯消去法求解下面的线性方程组,分析对结果的影响: = 3、用追赶法分别对n=10,n=100,n=1000解方程组Ax=b,其中 , . 再用LU分解法解此方程组,并对二者进行比较;4、线性方程组直接实验-LU分解的优点。三、 实验原理1、列主元gauss1.输入系数矩阵A,右端B,置k:=1;2.对k=1, ,n-1进行如下操作:(1)选列主元,确定k(r),使a(r(k)k)的K次导=max | a(ik) 的K次导|,k=ik,交换(A(k),b(k)的第k,b(k)两行;(3)消元:对i,j=k+1, ,n,计算m(ik)=a(il)/a(kk) 的K次导,

3、a(ik) 的K+1次导为0,a(ik) 的K+1次导=a(ij) 的K次导-m(ik)*a(kj) 的K次导,b(i) 的K+1次导=b(i) 的K次导-m(ik)*b(k) 的K次导;c.回代:X(n)=b(n) 的n次导/a(nn) 的n次导,对K=n-1, ,1计算 nX(k)=(b(k) 的K次导 -a(kj) 的K次导*x(j)/a(kk) 的K次导J=k+12、追赶法1.输入对称正定矩阵A和右端向量b;2.cholesky分解:d(1)t(11)=a(11),l(i1)=a(i1)/d(1),i=2, ,n,对K=2, ,n计算: k-1d(k)=a(kk)- t(kj)*l(k

4、j), j=1 k-1t(ik)=a(ik)- t(ij)*l(kj),l(ik)=t(ik)/d(k),i=k+1, ,n; j-13.用向前消去法解下三角方程组Ly=b:y(1)=b(1), k-1对k=2, ,n计算y(k)=b(k)- l(kj)*y(j); j=14.解对角形方程组Dz=y:对K=1, ,n,计算z(k)=y(k)/d(k); T5.用回代法解上三角方程组L x =z:X(n)=z(n),对K=n-1, ,1 计算x(k)=z(k)-l(jk)*x(j). 3、LU分解法 4、顺序高斯消去法设 A, x, b 考察线性方程组 Ax=b . (1) 顺序高斯消去法的消元

5、过程: 对方程组的增广矩阵 作初等行变换如下:第一步, 记, , , . 设 , 对计算 , 第二步, 设, 对计算 , , 如此继续, 第步结束, 得矩阵 (n)然后进行回代, 即可解出: , , .四、 实验内容1、用列主元法求解线性方程组1.1实验步骤:新建一个M文件,编写程序,运行程序,记录结果1.2实验程序:clcA=0.001 2.000 3.000;-2.000 1.072 5.643;-1.000 3.712 4.623b=1.000 3.000 2.000x=magauss2(A,b)1.3实验设备: matlab软件。2、分别用列主元法和顺序高斯消去法求解下面的线性方程组2

6、.1实验步骤:新建一个M文件,编写程序,运行程序,记录结果2.2实验程序:clearclcA=0.3*10(-16) 59.14 3 1;1 2 1 1;11.2 9 5 2;5.291 -6.13 -1 2b=51.97 2 1 46.78x1=magauss2(A,b)x2=magauss(A,b)2.3实验设备: matlab软件。3、用追赶法分别对n=10,n=100,n=1000解方程组Ax=b3.1实验步骤:(1)新建一个M文件,编写程序(如下程序1),运行程序,记录结果。 (2)把程序中的n=10改为n=100, 运行程序,记录结果。 (3)把程序中的n=10改为n=1000,

7、运行程序,记录结果。 (4)再用LU分解法解此题,新建一个M文件,编写程序(如下程序2),运行程序,记录结果。3.2实验程序:程序(1)clcn=10;a=4*ones(n);b=-1*ones(n);c=-1*ones(n);d=5*ones(n);d(1)=6;x=machase(a,b,c,d)程序(2)clcn=10;A=zeros(n);for i=1:n A(i,i)=4;endfor i=1:n-1 A(i,i+1)=-1;endfor i=1:n-1 A(i+1,i)=-1;endb=5*ones(n,1);b(1)=6;x=malu(A,b)3.3实验设备: matlab软件

8、。4. 线性方程组直接实验-LU分解的优点4.1 实施方案:对于线性方程组Ax=b,分别求当A=A,时,求解x的值。4.2 实验步骤:(1) 数据准备: n=10;A=n*eye(n);for i=1:n for j=i:n A(i,j)=n-j+i; endend b=zeros(n,1);b(n,1)=1;(2)对A=A,进行LU分解,分别调用函数x,l,u=malu(A,b);五、 实验结果1、用列主元法求解线性方程组 2、分别用列主元法和顺序高斯消去法求解下面的线性方程组 3、用追赶法分别对n=10,n=100,n=1000解方程组Ax=b(1)(2)(3)(部分答案截图)(4)4. 线性方程组直接实验-LU分解的优点(1)A的LU分解(2)(a)(b) (c) 六、 实验结果分析分别用列主元法和顺序高斯消去法求解下面的线性方程组结果分析:分析实验结果可知,用列主元可求出结果,而用顺序高斯消去法却没有结果,是由于没有选列主元导致大数吃小数的情况发生,可见用高斯消去法选列主元的重要性。用追赶法分别对n=10,n=100,n=1000解方程组Ax=b结果分析:由实验结果可知,追赶法不需要对零元素计算,迭代次数比较少,且当系数矩阵对角占优是数值稳定,是解三对角方程组的优秀算法,而LU分解法在解三对角方程组时不占优势。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号