📄 colgauss.m
字号:
%Gauss列主元消元法
function x=colgauss(n,A,b)
x(n)=0;
a=A;
mt=0;
%消元过程
for k=1:(n-1)
mt=abs(a(k,k));m=k;
for i=(k+1):n
if abs(a(i,k))>mt
m=i;mt=abs(a(i,k));
end
end
if a(m,k)==0
fprintf('main element equal to zero!Error!');
return;
else
if m~=k
t=a(k,:);tb=b(k);
a(k,:)=a(m,:);b(k)=b(m);
a(m,:)=t;b(m)=tb;
end
for i=(k+1):n
l=a(i,k)/a(k,k);
a(i,:)=a(i,:)-l*a(k,:);
b(i)=b(i)-l*b(k);
end
end
end
%回代过程
if a(n,n)==0
fprintf('matrix is odd!');
return;
end
x(n)=b(n)/a(n,n);
for k=2:n
l=0;
for j=(n+2-k):n
l=l+a(n+1-k,j)*x(j);
end
x(n+1-k)=(b(n+1-k)-l)/a(n+1-k,n+1-k);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -