Matlab线性方程组求解(Gauss消去法).doc
《Matlab线性方程组求解(Gauss消去法).doc》由会员分享,可在线阅读,更多相关《Matlab线性方程组求解(Gauss消去法).doc(4页珍藏版)》请在沃文网上搜索。
1、Matlab线性方程组求解1. Gauss消元法:function x=DelGauss(a,b)% Gauss消去法n,m=size(a);nb=length(b);det=1; %存储行列式值x=zeros(n,1);for k=1:n-1 for i=k+1:n if a(k,k)=0 return end m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b(i)-m*b(k); end det=det*a(k,k); %计算行列式enddet=det*a(n,n);for k=n:-1:1 %回代求解 for
2、j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k);endExample: A=1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898; b=1 0 1; x=DelGauss(A,b)x = 0.9739 -0.0047 1.00102. 列主元Gauss消去法:function x=detGauss(a,b)% Gauss列主元消去法n,m=size(a);nb=length(b);det=1; %存储行列式值x=zeros(n,1);for k=1:n-1 ama
3、x=0; %选主元 for i=k:n if abs(a(i,k)amax amax=abs(a(i,k);r=i; end end if amaxk %交换两行 for j=k:n z=a(k,j);a(k,j)=a(r,j);a(r,j)=z; end z=b(k);b(k)=b(r);b(r)=z;det=-det; end for i=k+1:n %进行消元 m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b(i)-m*b(k); end det=det*a(k,k);enddet=det*a(n,n);for k=n:-1:1 %回代求解 for j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k);endExample: x=detGauss(A,b)x = 0.9739 -0.00471.0010
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 线性方程组 求解 Gauss 消去
