一 编写 gauss 列主元消元法求解线性方程组的程序

一 编写 gauss 列主元消元法求解线性方程组的程序

ID:14764612

大小:46.00 KB

页数:2页

时间:2018-07-30

一 编写 gauss 列主元消元法求解线性方程组的程序_第1页
一 编写 gauss 列主元消元法求解线性方程组的程序_第2页
资源描述:

《一 编写 gauss 列主元消元法求解线性方程组的程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数值计算报告书日期:2014年11月8日问题名称编写Gauss列主元消元法求解线性方程组的程序,要求附有算例。问题描述:编写一MATLAB程序,算法为列主元消元法,功能为求解线性方程组。MATLAB程序:function[x,flag]=Gauss(A,b)[n,m]=size(A);nb=length(b);ifn~=merror('TherowsandcolumnsofmatrixAmustbeequal!');%不是方阵,则显示错误。endifm~=nberror('ThecolumnsofAmustbeequal

2、thelengthofb!')%如果列数不等于b的个数,则显示错误。endflag='OK';x=zeros(n,1);fork=1:n-1max1=0;fori=k:nifabs(A(i,k))>max1max1=abs(A(i,k));r=i;endend%记max1为最大值,r为最大值所在的行数。ifmax1<1e-10flag='failure';return;end%最大值太小,近似为0,则返回。ifr>kforj=k:nz=A(k,j);A(k,j)=A(r,j);A(r,j)=z;endz=b(k);b(k

3、)=b(r);b(r)=z;end%两条方程交换位置。fori=k+1:nm=A(i,k)/A(k,k);forj=k+1:nA(i,j)=A(i,j)-m*A(k,j);endb(i)=b(i)-m*b(k);end%当前方程已下全部方程消元。endifabs(A(n,n))<1e-10flag='failure';return;endx(n)=b(n)/A(n,n);fork=n-1:-1:1forj=n:-1:k+1b(k)=b(k)-A(k,j)*x(j);endx(k)=b(k)/A(k,k);end%求出方程

4、组的解x(k)。算例:求解下列方程组:在MATLAB的CommandWindow中输入:>>A=[0.7290.810.9;111;1.3311.211.1];>>b=[0.6867;0.8338;1.000];>>Gauss(A,b)计算结果与分析:计算结果如下:ans=0.22450.28140.3279数据分析:将=0.2245,=0.2814,=0.3279代入,得结果为0.6867045;代入,得结果为0.8338;代入,得结果为0.9999935。可见,Gauss列主元消元法的求解精度较高。

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

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

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