列组元高斯消去法.docx
- 文档编号:1176340
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:6
- 大小:94.59KB
列组元高斯消去法.docx
《列组元高斯消去法.docx》由会员分享,可在线阅读,更多相关《列组元高斯消去法.docx(6页珍藏版)》请在冰豆网上搜索。
列组元高斯消去法
1.列组元高斯消去法
function[x,flag]=Gauss(A,b)
%A为方程组的系数矩阵
%b为方程组的右端项
%x为方程组的解
%flag为指标向量,flag=‘failure’表示失败,flag=‘OK’表示成功
[n,m]=size(A);nb=length(b);
ifn~=m
error('A不是方阵')
return;
end
ifm~=nb
error('b的长度不等于A的阶数')
return;
end
flag='OK';x=zeros(n,1);
fork=1:
n-1
max1=0;
fori=k:
n
ifabs(A(i,k))>max1
max1=abs(A(i,k));r=i;
end
end
ifmax1<1e-10
flag='failure';return;
end
ifr>k
forj=k:
n
z=A(k,j);A(k,j)=A(r,j);A(r,j)=z;
end
end
fori=k+1:
n
m=A(i,k)/A(k,k);
forj=k+1:
n
A(i,j)=A(i,j)-m*A(k,j);
end
b(i)=b(i)-m*b(k);
end
end
ifabs(A(n,n))<1e-10
flag='failure';return;
end
fork=n:
-1:
1
forj=k+1:
n
b(k)=b(k)-A(k,j)*x(j);
end
x(k)=b(k)/A(k,k);
end
2.流程图
2.全组元高斯消去法
function[x,qa]=gaussq(a,b)
L=length(b);n=size(a,2);pos=1:
n;
forq=1:
n
big=max(max(abs(a(q:
n,q:
n))));
forr=q:
n
fort=q:
n
ifbig==abs(a(r,t))
h=r;
l=t;
end
end
end
p=a(q,:
);%换主行
a(q,:
)=a(h,:
);
a(h,:
)=p;
bb=b(q);%常数行互换
b(q)=b(h);
b(h)=bb;
p=a(:
q);%列变换
a(:
q)=a(:
l);
a(:
l)=p;
p=pos(q);%解位置的变化
pos(q)=pos(l);
pos(l)=p;
end
c=horzcat(a,b);
forj=1:
L-1%化为上三角矩阵
fori=(j+1):
L
m=c(i,j)/c(j,j);
c(i,:
)=c(i,:
)-c(j,:
)*m;
end
end
x(L,1)=c(L,L+1)/c(L,L);
fork=L-1:
-1:
1%求解X
x(k,1)=(c(k,L+1)-c(k,k+1:
L)*x(k+1:
L))/c(k,k);
end
y=[1:
n];
forw=1:
n
forv=1:
n
if(pos(v)==w)
y(w)=x(v);
end
end
end
x=y;
流程图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 列组元高斯 消去
![提示](https://static.bdocx.com/images/bang_tan.gif)