📄 guass.m
字号:
function guass(A,B)
%高斯列主元消去法
error(nargchk(2,2,nargin));%判断输入矩阵大小
d=max(size(A));%获取系数矩阵的阶
p=max(size(B));
if d==p
dimention=d;
else
fprintf('输入有误,不能构成线性方程组');
end
for q=1:d %寻找主元
for r=q:d-1
if (abs(A(r,q)))>=(abs(A(r+1,q)))
Maxr=r;
else
Maxr=r+1;
end
end
MaxA=zeros(1,d); %进行行交换
MaxB=0;
if q<Maxr
MaxA(1,:)=A(Maxr,:);
MaxB=B(Maxr);
A(Maxr,:)=A(q,:);
B(Maxr)=B(q);
A(q,:)=MaxA(1,:);
B(q)=MaxB;
end
for m=q+1:d %消去主元
a=A(m,q)/A(q,q);
A(m,:)=A(m,:)-A(q,:)*a;
B(m)=B(m)-B(q)*a;
end
end
X=zeros(d,1); %求解
X(d,1)=B(d)/A(d,d);
for n=d-1:-1:1
for m=n+1:d
X(n,1)=X(n,1)+A(n,m)*X(m,1);
end
X(n,1)=(B(n)-X(n,1))/A(n,n);
end
Result=X
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -