clear
A=[12,-3,3;-18,3,3;1,1,1];
b=[15;-15;6];
[~,n]=size(A);
%% 消元
for k=1:n-1
%%选主元
[~,index]=max(abs(A(k:end,k)));
if index~=k
temp_A=A(k,:);
A(k,:)=A(index,:);
A(index,:)=temp_A;
temp_b=b(k);
b(k)=b(index);
b(index)=temp_b;
end
for i=k+1:n
A(i,k)=A(i,k)/A(k,k);
A(i,k+1:end)=A(i,k+1:end)-A(i,k)*A(k,k+1:end);
b(i)=b(i)-A(i,k)*b(k);
end
end
%% 回代
b(n)=b(n)/A(n,n);
for i=n-1:-1:1
b(i)=(b(i)-A(i,i+1:n)*b(i+1:n))/A(i,i);
end
x=b;
x
数值计算方法高斯消元法(列选主元)matlab实现
最新推荐文章于 2022-03-17 16:57:17 发布