[MatLab] Metodo di Jacobi
November 23, 2009 – 2:34 amDescrizione
L’algoritmo in questione risolve un sistema a matrice dei coefficienti quadrata non singolare tramite il metodo di Jacobi.
Codice
function [x, delta] = jacobi(n, A, b, toll, kmax, x)
delta=1;
if(det(A)==0)
return
else
z=x;
for k=1:kmax
y=z(1,1);
som=0;
for i=2:n
som=som+A(1,i)*x(1,i);
end
z(1,1)=(b(1,1)-som)/A(1,1)
ermax=abs(y-z(1,1));
for i=2:n
y=z(1,i);
som=0;
for j=1:(i-1)
som=som+A(i,j)*x(1,j);
end
som1=0;
for j=(i+1):n
som1=som1+A(i,j)*x(1,j);
end
z(1,i)=(b(i,1)-som-som1)/A(i,i)
er=abs(y-z(1,i));
if ermax<er
ermax=er;
end
end
x=z;
if ermax<toll*norm(z,inf)
delta=0;
return
end
end
end










![Validate my RSS feed [Valid RSS]](http://v3rgil.altervista.org/Images/valid-rss.png)