线性方程组求解的数值方法__ppt

上传人:飞*** 文档编号:3769577 上传时间:2017-08-05 格式:PPT 页数:42 大小:1,022KB
返回 下载 相关 举报
线性方程组求解的数值方法__ppt_第1页
第1页 / 共42页
线性方程组求解的数值方法__ppt_第2页
第2页 / 共42页
线性方程组求解的数值方法__ppt_第3页
第3页 / 共42页
线性方程组求解的数值方法__ppt_第4页
第4页 / 共42页
线性方程组求解的数值方法__ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《线性方程组求解的数值方法__ppt》由会员分享,可在线阅读,更多相关《线性方程组求解的数值方法__ppt(42页珍藏版)》请在金锄头文库上搜索。

1、第三章 线性方程组求解的数值方法,3.1 Gauss消去法与矩阵的LU分解,3.2 Cholesky分解,3.3 向量范数与矩阵范数,3.4 古典迭代法的构造,3.5 迭代法的分析,3.6 超松弛迭代(SOR)及分块迭代方法,3.7 线性方程组的条件,3.8 稀疏矩阵的计算,线性方程组求解的数值方法,3.1 Gauss消去法与矩阵的LU分解,基本思想:用逐次消去未知数的方法把原方程组化为三角形方程组再求解 。消元:用初等变换将原方程组的系数矩阵化为三角形矩阵(简称三角阵)再求解的方法。回代:解出三角形方程组的最后一个方程,将求得的值逐步往前一个方程代入的方法。,消元,为什么选主元,避免方法:高

2、斯主元消元法,function X=uptrbk(A,b)%A是一个n阶矩阵。%b是一个n维向量。%X是线性方程组AX=b的解。N N=size(A);X=zeros(1,N+1);Aug=A b;for p=1:N-1 Y,j=max(abs(Aug(p:N,p); C=Aug(p,:); Aug(p,:)=Aug(j+p-1,:); Aug(j+p-1,:)=C;,高斯主元消去法的MATLAB实现,if Aug(p,p)=0 A是奇异阵,方程无惟一解 break end for k=p+1:N m=Aug(k,p)/Aug(p,p); Aug(k,p:N+1)=Aug(k,p:N+1)-m

3、*Aug(p,p:N+1); endend%这里用到程序8-1中定义的函数backsub来进行回代。X=backsub(Aug(1:N,1:N),Aug(1:N,N+1);,A=0.001 2 3;-1 3.712 4.623;-2 1.072 5.643; b=1 2 3; uptrbk(A,b),比较计算结果:主元消元法 -0.4904 -0.0510 0.3675 用x=Ab -0.4904 -0.0510 0.3675 一般消元法 -0.4 -0.09980 0. 4,function X=backsub(A,b)%A是一个n阶上三角非奇异阵。%b是一个n维向量。%X是线性方程组AX=

4、b的解。n=length(b);X=zeros(n,1);X(n)=b(n)/A(n,n);for k=n-1:-1:1X(k)=(b(k)-A(k,k+1:n)*X(k+1:n)/A(k,k);End,用回代法求解上三角线性方程组AX=B,其中A为非奇异。,矩阵的LU分解,function X=lufact(A,b)%A为n阶矩阵。%b是n维向量。%X是所求的AX=b的解。N,N=size(A);X=zeros(N,1);Y=zeros(N,1);C=zeros(1,N);R=1:N;for p=1:N-1max1,j=max(abs(A(p:N,p);C=A(p,:);A(p,:)=A(j

5、+p-1,:);A(j+p-1,:)=C;d=R(p);R(p)=R(j+p-1);R(j+p-1)=d;if A(p,p)=0 A是奇异阵,方程组无惟一解,breakendfor k=p+1:N mult=A(k,p)/A(p,p); A(k,p)=mult; A(k,p+1:N)=A(k,p+1:N)-mult*A(p,p+1:N);endendY(1)=b(R(1);for k=2:N Y(k)=b(R(k)-A(k,1:k-1)*Y(1:k-1);endX(N)=Y(N)/A(N,N);for k=N-1:-1:1 X(k)=(Y(k)-A(k,k+1:N)*X(k+1:N)/A(k,

6、k);end,3.2 Cholesky分解(平方根法),3.3 向量范数与矩阵范数,向量的收敛,矩阵范数,常用的矩阵范数,矩阵的收敛,谱半径,3.4 三种迭代法,雅可比迭代法的Matlab程序,function X=jacobi(A,b,P,delta,max1)%A是n维非奇异阵。%b是n维向量。%P是初值。%delta是误差界。%max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。N=length(b);for k=1:max1for j=1:N X(j)=(b(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j); end err=abs(no

7、rm(X-P); P=X; if(errdelta) break endendX=X;k,err;,function X=gseid(A,b,P,delta,max1)%A是n维非奇异阵。%b是n维向量。%P是初值。%delta是误差界。%max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。N=length(b);for k=1:max1for j=1:N if j=1 X(1)=(b(1)-A(1,2:N)*P(2:N)/A(1,1); elseif j=N X(N)=(b(N)-A(N,1:N-1)*(X(1:N-1)/A(N,N); else X(j)=(b(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N)/A(j,j); endenderr=abs(norm(X-P);P=X;if(errdelta) breakendendX=X;err,k,塞德尔迭代法的迭代程序:,3.5 迭代法的收敛性,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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