% Program to Solve Ax = b using Gaussian Elimination Method
%==========================================================================
% Required Inputs:
%==========================================================================
% Coefficient Matrix, A (n-by-n)
% Right handside vector, b (n-by-1)
%==========================================================================
% Output
%==========================================================================
% Solution vecotr, x
%==========================================================================
% Version 1.0
% Date: 20th August,2019
%==========================================================================
% Developed by : Arshad Afzal, India, Email: arshad.afzal@gmail.com
%==========================================================================
fprintf(’\n ==================================================================================’);
fprintf(’\n Solve Ax = b using Gaussian Elimination Method ');
fprintf(’\n ==================================================================================’);
fprintf(’ ----------------------------------------------------------------------------------’);
% Required Inputs to start the algorithm, and termination criterions
A = input(’\nEnter the coeffcient matrix, A :’);
b = input(’\nEnter the right handside vector, b :’);
%==========================================================================
[m,n] = size(A);
%==========================================================================
% Initialization
x = zeros(m,1);
l = zeros(m,m-1);
%==========================================================================
% Main Program
%==========================================================================
% Reducing Matrix A to upper triangular form
for k = 1:m-1
for i = k+1:m
l(i,k) = A(i,k)/A(k,k);
for j = k+1:n
A(i,j) = A(i,j)-l(i,k)*A(k,j);
end
b(i) = b(i)-l(i,k)*b(k);
end
end
for k = 1:m-1
for i = k+1:m
A(i,k) = 0;
end
end
%==========================================================================
% Backward substitution
x(m) = b(m)/A(m,m);
for i = m-1?1
sum = 0;
for j = i+1:m
sum = sum + A(i,j)*x(j);
end
x(i) = (b(i)- sum)/A(i,i);
end
fprintf(’\n Solution vector :\n’);
x
%================================================
更多精彩文章请关注公众号: