




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算方法实验报告1【课题名称】用列主元高斯消去法和列主元三角分解法解线性方程【目的和意义】高斯消去法是一个古老的求解线性方程组的方法,但由它改进得到的选主元的高斯消去法则是目前计算机上常用的解低阶稠密矩阵方程组的有效方法。用高斯消去法解线性方程组的基本思想时用矩阵行的初等变换将系数矩阵A约化为具有简单形式的矩阵(上三角矩阵、单位矩阵等),而三角形方程组则可以直接回带求解用高斯消去法解线性方程组Axb(其中AERnxn)的计算量为:乘除法运算步骤为n(n1)(n1)n(2n1)n(n1)n(n1)n3nMD26223n23,加减运算步骤为(n1)n(2n1)n(n1)n(n1)(n1)n(2n5)AS6226。相比之下,传统的克莱姆法则则较为繁琐,如求解20阶线性方程组,克莱姆法则大约要51019次乘法,而用高斯消去法只需要3060次乘除法。在高斯消去法运算的过程中,如果出现abs(A(i,|)于零或过小的情况,则会导致矩阵元素数量级严重增长和舍入误差的扩散,使得最后的计算结果不可靠,所以目前计算机上常用的解低阶稠密矩阵方程的快速有效的方法时列主元高斯消去法,从而使计算结果更加精确。2、列主元三角分解法高斯消去法的消去过程,实质上是将A分解为两个三角矩阵的乘积A=LU,并求解Ly=b的过程。回带过程就是求解上三角方程组U*=y。所以在实际的运算中,矩阵L和U可以直接计算出,而不需要任何中间步骤,从而在计算过程中将高斯消去法的步骤进行了进一步的简略,大大提高了运算速度,这就是三角分解法采用选主元的方式与列主元高斯消去法一样,也是为了避免除数过小,从而保证了计算的精确度【计算公式】1、列主元高斯消去法设有线性方程组A*=b,其中设A为非奇异矩阵。方程组的增广矩阵为第1步(k=1):首先在A的第一列中选取绝对值最大的元素气1,作为第一步的主元素:然后交换(A,b)的第1行与第l行元素,再进行消元计算。设列主元素消去法已经完成第1步到第k-1步的按列选主元,交换两行,消元计算得到与原方程组等价的方程组A(k)*=b(k)第k步计算如下:对于k=1,2,…,n-1按列选主元:即确定t使|气"|max|")|0tk,.ik一,,k.in、如果t尹k,则交换[A,b]第t仃与第k仃元素。(4)回代求解2、列主元三角分解法_对方程组的增广矩阵经过k-A,步分解后,可变成如下形式:x,一―一yau第k步分解,为了避免用绝对值很小的数kk作除数,引进量(bnbax)k1i.ijjsax,-I—tt~,火...nn)l,n2,,1)1*'、"Ji,于是有"=I。如豪J则将矩留临第t行与第k行kin工__,-,、一,1a,,一,一、,元素互换,将(i,j)位置的新元素仍记为或打,然后再做第k步分解,这时【列主元高斯消去法程序流程图】【列主元高斯消去法Matlab主程序】function*=gauss1(A,b,列主元法高斯消去法解线性方程A*=bif(1ength(A)~=1ength(判断输入的方程组是否有误disp输入方程有误!')return;enddisp原方程为A*=b:')显示方程组Abdisp('')n=1ength(A);fork=1:n-1找列主元[p,q]=ma*(abs(A(k:n,k)我;%第k列中的最大值,其下标为[p,q]q=q+k-1;%q在A(k:n,中的行号转换为在A中的行号ifabs(p)<cdisp(列元素太小,det(AKO');break;elseifq>ktemp1=A(k,:);^列主元所在行不是当前行,将当前行与列主A(k,:)=A(q,元)所在行交换包括b)A(q,:)=temp1;temp2=b(k,:);b(k,:)=b(q,:);b(q,:)=temp2;end%消元fori=k+1:nm(i,k)=A(i,k)/A(k,k);%A将Mk),l消为0所乘系数A(i,k:n)=A(i,k:n)-m(i,k)*A(]第ki行)消元处理b⑴=b(i)-m(i,k)*b(k);j%b^理endenddisp消元后所得到的上三角阵是')A%显示消元后的系数矩阵b(n)=b(n)/A(n,n)回代求解fori=n-1:-1:1b⑴=(b⑴-sum(A(i,i+1:n)*b(i+1:n)))/A(i,i);endclear*;dispCA*=bft解*是')*=b;【调用函数解题】【列主元三角分解法程序流程图】【列主元三角分解法Matlab主程序】①自己编的程序:function*=PLU(A,b,eps)
function*=PLU(A,b,eps)
if(length(A)=length(b))disp输入方程有误!')%定义函数列主元三角分解法函数%判断输入的方程组是否有误return;enddisp原方程为A*=b:')%显示方程组bdisp('')n=length(A);A=[Ab];将A与b合并,得到增广矩阵forr=1:nifr==1fori=1:n[cd]=ma*(abs(A(:,1)));%选取最大列向量,并做行交换ifc<=eps最大值小于e,主元太小,程序结束break;elseendd=d+1-1;P=A(1,:);A(1,:)=A(d,:);A(d,:)=p;A(1,i)=A(1,i);endA(1,2:n)=A(1,2:n);A(2:n,1)=A(2:n,1)/A(1,1);%求u(1,i)elseu(r,r)=A(r,r)-A(r,1:r-1)*A(1:i%按膈方程求取u(r,i)ifabs(u(r,r))<=ePWu(r,r小于e,则交换行P=A(r,:);A(r,:)=A(r+1,:);A(r+1,:)=p;elseendfori=r:nA(r,i)=A(r,i)-A(r,1:r-1)*A(1:根据公)式求解,并把结果存在矩阵A中endfori=r+1:nA(i,r)=(A(i,r)-A(i,1:r-1)*A(1:r-1,根据公式求解,并把结果存在矩阵A中endendendy(1)=A(1,n+1);fori=2:nh=0;fork=1:i-1h=h+A(i,k)*y(k);endy(i)=A(i,n+1)-h;%根据公式求解y(i)end*(n)=y(n)/A(n,n);fori=n-1:-1:1h=0;fork=i+1:nh=h+A(i,k)**(k);end*(i)=(y(i)-h)/A(i,蹄根据公式求解*(i)enddisp('A*=b的解*是')*=*';%输出方程的解②可直接得到P,L,U并解出方程解的的程序(查阅资料得子函数PLU1,其作用是将矩阵A分解成L乘以U的形式。PLU2为调用PLU1解题的程序,是自己编的)(I).function[l,u,p]=PLU1(A)%定义子函数,其功能为列主元三角分解系数矩阵A[m,n]=size(A);%判断系数矩阵是否为方阵ifm=nerror矩阵不是方阵')returnendifdet(A)==0%判断系数矩阵能否被三角分解error矩阵不能被三角分解')endu=A;p=eye(m);l=eye(m);%将系数矩阵三角分解,分别求出P,L,Ufori=1:mforj=i:mt(j)=u(j,i);t(j)=t(j)-u(j,k)*u(k,i);endenda=i;b=abs(t(i));forj=i+1:mifb<abs(t(j))b=abs(t(j));a=j;endendifa~=iforj=1:mc=u(i,j);u(i,j)=u(a,j);u(a,j)=c;endforj=1:mc=p(i,j);p(i,j)=p(a,j);p(a,j)=c;endc=t(a);t(a)=t(i);t(i)=c;endu(i,i)=t(i);forj=i+1:mu(j,i)=t(j)/t(i);endforj=i+1:mfork=1:i-1u(i,j)=u(i,j)-u(i,k)*u(k,j);endendendl=tril(u,-1)+eye(m);u=triu(u,0)(II).function*=PLU2(A,b)%定义列主元三角分解法的函数[l,u,p]=PLU1(A)%调用PLU分解系数矩阵Am=length(A);%由于A左乘p,故b也要左乘pv=b;forq=1:mb(q)=sum(p(q,1:m)*v(1:m,1));end81)=81)%求解方程Ly=bfori=2:1:mb(i)=(b(i)-sum(l(i,1:i-1)*b(1:i-1)));endb(m)=b(m)/u(m,m);%求解方程U*=yfori=m-1:-1:1b(i)=(b(i)-sum(u(i,i+1:m)*b(i+1:m)))/u(i,i);endclear*;disp('A*=b的解*是')*=b;【调用函数解题】①②【编程疑难】这是第一次用matlab编程,对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语七年级下册Unit 2 NeighboursGrammar教学设计
- 2016年秋九年级化学上册 第3单元 物质构成的奥秘 课题2 原子的结构教学设计 (新版)新人教版
- 数学七年级下册4.1.1相交与平行教案
- Module 1 Unit 1 I want a hot dog,please(教学设计)-2023-2024学年外研版(三起)英语六年级下册001
- Module 5 Museums 教学设计 2024-2025学年外研版九年级上册001
- 河南省濮阳市范县白衣阁第二中学九年级信息技术 3.3.1《Windows98资源管理器》教学设计
- 采购精益管理成果
- 第一章地球 教学设计- 2024-2025学年人教版七年级地理上册
- 人教部编版九年级上册历史第三单元第8课 西 欧 庄 园教学设计
- 湘艺版一年级下册(演奏)闪烁的小星教学设计
- 吉林交通职业技术学院单招职业技能测试参考试题库(含答案)
- 家长有远见孩子有格局
- 《第七课沈从文:逆境也是生活的恩赐》课件(黑龙江县级优课)
- 高墩(40m高)安全专项施工方案(专家)
- 临时用电申请审批表
- 水库导流洞工程土建及安装工程重要施工方案和特殊施工工序的安全控制措施
- 生育服务证办理承诺书
- 地下室顶板预留洞口施工方案标准版
- 儿童常见病中医治疗
- 演讲与口才2.4劝慰与道歉
- 中国古代建筑历史图说
评论
0/150
提交评论