MÉTODO DE JACOBI
Publicado por Jaime Martínez (4 intervenciones) el 03/12/2014 16:32:36
Hola. El siguiente código para resolver sistemas de ecuaciones lineales mediante el método de jacobi no me funciona correctamente. Está hecho para MATLAB. Si alguien viese un error en él se lo agradecería.
Adjunto el código
function [x]=jacobi1(A,b,x0)
L=A-triu(A);
U=A-tril(A);
D=diag(diag(A));
x=(inv(D)*b)-((L+U)*x0);
end
......
function [x]=jacobi(A,b,x0,tol)
n=size(A,1);
x=jacobi1(A,b,x0);
it=0;
while norm(x-x0)<=tol
x0=x;
x=b;
for i=1:n
for j=1:i-1
x(i)=x(i)-A(i,j)*x0(j);
end
for j=i+1:n
x(i)=x(i)-A(i,j)*x0(j);
end
x(i)=x(i)/A(i,i);
it=it+1;
end
end
Un saludo y gracias.
Adjunto el código
function [x]=jacobi1(A,b,x0)
L=A-triu(A);
U=A-tril(A);
D=diag(diag(A));
x=(inv(D)*b)-((L+U)*x0);
end
......
function [x]=jacobi(A,b,x0,tol)
n=size(A,1);
x=jacobi1(A,b,x0);
it=0;
while norm(x-x0)<=tol
x0=x;
x=b;
for i=1:n
for j=1:i-1
x(i)=x(i)-A(i,j)*x0(j);
end
for j=i+1:n
x(i)=x(i)-A(i,j)*x0(j);
end
x(i)=x(i)/A(i,i);
it=it+1;
end
end
Un saludo y gracias.
Valora esta pregunta
0