martes, 27 de septiembre de 2011

programa seidel

le codigo de seidel es de la siguiente forma:

function z=seidel(a,b,Es)
D=diag(diag(a));
L=(tril(a)-D)*(-1);
U=(triu(a)-D)*(-1);
m=inv(D)*(L+U);
c=inv(D)*b';
n=length(m);
x0=zeros(n,1);
Em=99999999999;
cont=0;
s=0;
while Em>=Es
    for i=1:n
        for j=1:n
            s=s+(m(i,j)*x0(j));
        end
        x(i)=s+c(i);
        s=0;
        E(i)=abs(x(i)-x0(i));
        x0(i)=x(i);
    end
    cont=cont+1;
    for i=1:n
        Em=max(E(i));
    end
end
disp('numero de iteraciones')
disp(cont)
disp('valor del error')
disp(Em)
disp('vector x')
disp(x0)

lo mismo que jacobi A es la matriz, B es el vector, Es es el error deseado

No hay comentarios:

Publicar un comentario