%------------------------------------
%列主元高斯消去法
%
%Acyeah-2021/9/16-XJTU
%------------------------------------
clear;clc;
% A=[2 -3 2; -4 2 -6; 2 2 4] %系数矩阵
% b=[5; 14; 8] %常数项矩阵
A=[0 -3 3; -18 3 -1; 1 1 1] %系数矩阵
b=[15; -15; 6] %常数项矩阵
B=[A,b] %增广矩阵
lin=0; %line行计数器
col=0; %column列计数器
j=0; %计数器2
[lin_max,col_max]=size(A); %行计数最大值和列计数最大值
x=zeros(size(b)); %初始化解向量
temp=zeros(1,col_max+1); %初始化缓存向量(列主元部分)
tempB=B; %增广矩阵缓存
index=0; %最大值所在的行数
%%消去
for lin=1:lin_max
%列主元
index=lin
for j=lin:lin_max
if abs( B(j,lin) ) > abs( B(index,lin) )
index=j