数值分析中求解线性方程组的MATLAB程序(6种)_第1页
数值分析中求解线性方程组的MATLAB程序(6种)_第2页
数值分析中求解线性方程组的MATLAB程序(6种)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析中求解线性方程组的MATLAB程序(6种)1 .回溯法(系数矩阵为上三角)functionX=uptrbk(A,B)%求解方程组,首先化为上三角,再调用函数求解N,N=size(A);X=zeros(N,1);C=zeros(1,N+1);Aug=AB;forp=1:N-1Y,j=max(abs(Aug(p:N,p);C=Aug(p,:);Aug(p,:)=Aug(j+p-1,:);Aug(j+p-1,:)=C;ifAug(p,p)=0'Awassingular.Nouniquesolution.'break;endfork=p+1:Nm=Aug(k,p)/Aug(p,

2、p);Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);endendD=Aug;X=backsub(Aug(1:N,1:N),Aug(1:N,N+1);2 .系数矩阵为下三角functionx=matrix_down(A,b)%求解系数矩阵是下三角的方程组n=length(b);x=zeros(n,1);x(1)=b(1)/A(1,1);fork=2:1:nx(k)=(b(k)-A(k,1:k-1)*x(1:k-1)/A(k,k);end3 .普通系数矩阵(先化为上三角,在用回溯法)functionX=uptrbk(A,B)%求解方程组,首先化为上三角,再调用函

3、数求解N,N=size(A);X=zeros(N,1);C=zeros(1,N+1);Aug=AB;forp=1:N-1Y,j=max(abs(Aug(p:N,p);C=Aug(p,:);Aug(p,:)=Aug(j+p-1,:);Aug(j+p-1,:)=C;ifAug(p,p)=0'Awassingular.Nouniquesolution.break;endfork=p+1:Nm=Aug(k,p)/Aug(p,p);Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);endendD=Aug;X=backsub(Aug(1:N,1:N),Aug(1:N

4、,N+1);4 .三角分解法functionX,L,U=LU_matrix(A,B)%A是非奇异矩阵%AX=B化为LUX=B,L为下三角,U为上三角%程序中并没有真正解出L和U,全部存放在A中N,N=size(A);X=zeros(N,1);Y=zeros(N,1);C=zeros(1,N);R=1:N;forp=1:N-1max1,j=max(abs(A(p:N,p);C=A(p,:);A(p,:)=A(j+p-1,:);A(j+p-1,:)=C;d=R(p);R(p)=R(j+p-1);R(j+p-1)=d;ifA(p,p)=0'Aissingular.Nouniquesoluti

5、on'break;endfork=p+1:Nmult=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);fork=2:NY(k)=B(R(k)-A(k,1:k-1)*Y(1:k-1);endX(N)=Y(N)/A(N,N);fork=N-1:-1:1X(k)=(Y(k)-A(k,k+1:N)*X(k+1:N)/A(k,k);endL=tril(A,-1)+eye(N)U=triu(A)5 .雅克比迭代法functionX=jacobi(A,B,P,delta,max1);%

6、雅克比迭代求解方程组N=length(B);fork=1:max1forj=1:NX(j)=(B(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j);enderr=abs(norm(X'-P);relerr=err/(norm(X)+eps);P=X'if(err<delta)|(relerr<delta)breakendendX=X'k6 .盖斯迭代法functionX=gseid(A,B,P,delta,max1);%盖斯算法,求解赋初值的微分方程N=length(B);fork=1:max1forj=1:Nifj=1X(1)=(B(1)-A(1,2:N)*P(2:N)/A(1,1);elseifj=NX(N)=(B(N)-A(N,1:N-1)*(X(1:N-1)')/A(N,N);elseX(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(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论