function x = gaussnaive(A,b) % GAUSSNAIVE: x = gaussnaive(A,b): % Gauss elimination without pivoting. % input: % A = coefficient matrix % b = right hand side vector % output: % x = solution vector [m,n] = size(A); if m~=n, error('Matrix A must be square'); end % Form augmented matrix equations nb = n+1; Aug = [A b]; % Forward elimination for k = 1:n-1 % Eliminate lower diagonal terms from k-th column.... for i = k+1:n factor = Aug(i,k)/Aug(k,k); Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb); end % Display augmented matrix after i-th row operation.... fprintf('Augmented Matrix: Column %2d\n', k ); disp(Aug); end % Back substitution x = zeros(n,1); x(n) = Aug(n,nb)/Aug(n,n); for i = n-1:-1:1 x(i) = (Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i); end