Hello all
I've written this code to calculate vector x in Ax=b.
However, it seems that I shouldn't use diag function in my code. How can I do that? Is there any other way to do the same thing without using any Matlab built-in functions?
Thanks
function x1 = axb(A,b,e) %This function takes the matrix of coefficients A and the vector b and the
%tolerance e as input.The output of the function shows both the number of
%iteration and the solution x.
n = length(b);for k=1:n %k is the number of iterations
M(k)=b(k)/diag(A(k,k));endx0=transpose(M);for j=1:n x(j)=((b(j)-A(j,[1:j-1,j+1:n])*x0([1:j-1,j+1:n]))/A(j,j));endx1 = x';k = 1; while norm(x1-x0,1)>e for j=1:n x_new(j)=((b(j)-A(j,[1:j-1,j+1:n])*x1([1:j-1,j+1:n]))/A(j,j)); end x0=x1; x1=x_new'; k = k + 1;endk;fprintf('\nIteration: %3d\n',k)x = x1';
Best Answer