Gauss Elimination With Partial Pivoting
Gauss Elimination With Partial Pivoting
%getting n
%produces the augmented matrix
%Start elimination
for i = 1:n-1
p = i;
%select pivot
for j = i+1:n
if abs(A(j,i)) > abs(A(i,i))
U = A(i,:);
A(i,:) = A(j,:);
A(j,:) = U;
end
end
%pivot null check
while A(p,i)== 0 && p <= n
p = p+1;
end
if p == n+1
disp('No unique solution');
break
else
if p ~= i
T = A(i,:);
A(i,:) = A(p,:);
A(p,:) = T;
end
end
end
for j = i+1:n
m = A(j,i)/A(i,i);
for k = i+1:n+1
A(j,k) = A(j,k) - m*A(i,k);
end
end
end
sumax = 0;
for j = i+1:n
sumax = sumax + A(i,j)*x(j);
end
x(i) = (A(i,n+1) - sumax)/A(i,i);
Output:
x =
1.0000
1.0000
1.0000