高斯消去法
function x = gauss(A,b)
n = length(b);
x = zeros(n,1);
for i = 1:n-1
if A(i,i) == 0
fprintf("error");
return;
end
for k = (i+1:n)
m = -A(k,k)/A(i,i);
A(k,i:n) = A(k,i:n) + m * A(i,i:n);
b(k) = b(k) + m * b(i);
end
end
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
x(i)=(b(i)-sum(A(i,i+1:n)*x(i+1:n)))/A(i,i);
end
列主元高斯消去法实战
clear;
clc;
A=[2 -2 -1;4 1 -2;-2 1 -1];
B=[-2;1;-3];
x1=GUSS(A,B);
disp(x1);
function [y] = GUSS(A,B)
N=size(A,1);
x=zeros(N:1);
AB=[A B];
C=zeros(1:N+1);
Y=zeros(N,1);
U=zeros(N:N);
for p=1:N-1
[max1 number]=max(abs(AB(p:N,p)));
C=AB(p,:);
AB(p,:)=AB(p+