guass法求解AX=B
matlab程序如下
function gauss2
A = [4,6,0;-3,-5,0;-3,-6,1];
B = [-1,-2,6;-1,0,3;-1,-1,4];
X = gauss(A,B)
D = eye(3)/A;
D = D*B
end
%guass法求解AX=B
function x = gauss(A,B);
%消元过程
n = size(A,2);
m = size(B,2);
for i = 1:m
b = B(:,i);
for k=1:n-1
A(k+1:n,k)=A(k+1:n,k)/A(k,k); %算子
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
b(k+1:n)=b(k+1:n)-b(k)*A(k+1:n,k);
end
%回代过程
U=A;
b=b;
for j =n:-1:2
b(j)=b(j)/U(j,j);
b(1:j-1)=b(1:j-1)-b(j)*U(1:j-1,j);
end
b(1)=b(1)/U(1,1);
B(:,i)=b; %这个就是线性方程组的解了
end
x = B;
end