方程及方程组解法.ppt

方程及方程组解法.ppt

ID:52315990

大小:251.01 KB

页数:27页

时间:2020-04-04

方程及方程组解法.ppt_第1页
方程及方程组解法.ppt_第2页
方程及方程组解法.ppt_第3页
方程及方程组解法.ppt_第4页
方程及方程组解法.ppt_第5页
资源描述:

《方程及方程组解法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八讲 方程及方程组解法本讲教学目标掌握线性方程解法掌握线性方程组的直接解法掌握线性方程组的迭代解法了解非线性方程和方程组的函数解法了解非线性方程和方程组的迭代解法线性方程组的求解不仅在工程技术领域涉及,而且在其他许多领域也经常碰到,因此它的应用相当广泛。线性方程组的解法一般分为两类:一类是直接法,另一类是迭代法。非线性方程组的解法主要采用迭代法求解,常用的有不动点迭代法、牛顿迭代法和Broyden迭代法等几种。8.1线性方程及方程组的解法8.1.1线性方程的解法通过调用函数roots求解。例1求解方程的根。>>p=[1,-6,-72,-27]>>r=roots

2、(p)p=1-6-72-27r=12.1229-5.7345-0.38848.1.2线性方程组的解法1.直接解法(1)利用左除和右除运算符。通过这两个运算符,程序会自动根据输入的系数矩阵判断选用哪种方法进行求解。对线性方程组Ax=b,利用左除运算符“”求解:x=Ab右除同样。例2:求解以下方程组。>>a=[12;23];>>b=[8;13];>>x=abx=2.00003.0000(2)利用矩阵分解方法①LU分解将非奇异的方阵分解为一个下三角矩阵L和一个上三角矩阵U的乘积,即A=L*U。Ax=b可变换为x=U(Lb)或x=U(LPb)分解格式:[L

3、,U]=lu(A)——产生三角阵U和下三角阵L。[L,U,P]=lu(A)——产生三角阵U和下三角阵L以及一个置换矩阵P。②QR分解:把矩阵A分解为一个正交矩阵Q和一个上三角矩阵R的乘积,即A=Q*R。Ax=b可变换为x=R(Qb)或x=E(R(Qb))分解格式:[Q,R]=qr(A)——产生正交阵Q和上三角阵R。[Q,R,E]=qr(A)——产生正交阵Q、上三角阵R及置换阵E。③Cholesky分解:把对称正定的矩阵A分解成一个上三角矩阵R和其转置矩阵R’的乘积,即A=R‘R。Ax=b可变成x=R(R’b)分解格式:R=chol(A)——产生一个上

4、三角阵R。[R,p]=chol(A)——A对称正定时,p=0;否则p为一个正整数。如果A满秩,则R为一个阶为p-1的上三角阵,且满足R‘R=A(1:p-1,1:p-1)。例3:求解方程组。>>a=[12-33;-163-1;111];>>b=[15;-13;6];>>[L,U]=lu(a);>>x=U(Lb)x=1.00002.00003.00002.迭代解法迭代解法适合求解大型系数矩阵的方程组。迭代解法主要包括:Jacobi迭代法Gauss-Serdel迭代法超松弛迭代法两步迭代法(1)Jacobi迭代法对线性方程组Ax=b,若A为非奇异方阵,则可分解A=

5、D-L-U,其中D为对角阵,其元素为A的对角元素,L、U为A的下三角阵和上三角阵,Ax=b可化为x=D-1(L+U)x+D-1b。对应的迭代公式为:x(k+1)=D-1(L+U)x(k)+D-1b如果序列{x(k+1)}收敛于x,则x必是方程Ax=b的解。function[y,n]=jacobi(A,b,x0,eps)ifnargin==3eps=1.0e-6;elseifnargin<3errorreturnendD=diag(diag(A));%求A的对角矩阵L=-tril(A,-1);%求A的下三角阵U=-triu(A,1);%求A的上三角阵B=D(L+

6、U);f=Db;y=B*x0+f;n=1;%迭代次数whilenorm(y-x0)>=epsx0=y;y=B*x0+f;n=n+1;endJacobi迭代法的Matlab函数文件Jacobi.m如下:例4:用Jacobi迭代法求解线性方程组。设迭代初值为0,迭代精度为10-6。在命令中调用函数文件Jacobi.m,命令如下:A=[10,-1,0;-1,10,-2;0,-2,10];b=[9,7,6]';[x,n]=jacobi(A,b,[0,0,0]',1.0e-6)(2)Gauss-Serdel迭代法将Jacobi迭代公式Dx(k+1)=(L+U)x(k)+

7、b改为Dx(k+1)=Lx(k+1)+Ux(k)+b,得到:x(k+1)=(D-L)-1Ux(k)+(D-L)-1b即Gauss-Serdel迭代公式。和Jacobi迭代相比,Gauss-Serdel迭代用新分量代替旧分量,精度会高些。function[y,n]=gauseidel(A,b,x0,eps)ifnargin==3eps=1.0e-6;elseifnargin<3errorreturnendD=diag(diag(A));%求A的对角矩阵L=-tril(A,-1);%求A的下三角阵U=-triu(A,1);%求A的上三角阵G=(D-L)U;f=(D

8、-L)b;y=G*x0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。