Documento de iteración jacobiana

Lo siguiente es lo que escribí, siéntase libre de usarlo ~ ~ ~

Iteración de súper relajación (método de clasificación)

función [x k flag]=SOR(A, b, eps, w, maxl )

A es la matriz de coeficientes de la ecuación.

b es el vector derecho de la ecuación.

La precisión requiere eps.

maxl es el número máximo de iteraciones y el valor predeterminado es 100.

w es el factor de superrelajación y el valor predeterminado es 1.

x es la solución del sistema de ecuaciones

k es el número de iteraciones

bandera es una variable indicadora.

Valor inicial asignado:

Si nargin lt5 maxl = 100; fin

Si nargin lt4w = 1

Si nargin lt3; EPS = 1e-5; fin

n = longitud(b); k = 0;

x = cero(n, 1); flag = ' OK

Iniciar iteración:

Aunque es cierto

y = x y z son variables auxiliares.

Para i=1: n

z = b(I);

Para j=1: n

Si j~ =i

z=z-A(i,j)* x(j);

Fin

Fin

Si abs(A (i, I)) lt; 1e-10|k==maxl

flag="Fallo";

Fin

z=z/ A(i,I);x(I)=(1-w)* x(I) w * z;

Fin

if norma(y-x,INF) lt; Batería

Rota;

Fin

k = k 1;

Fin

Solución de ecuaciones lineales Jacobi método de iteración

función [x k flag]=Jacobi(A, b, eps, maxl)

A es la matriz de coeficientes de la ecuación.

b es el vector derecho de la ecuación.

La precisión requiere eps.

maxl es el número máximo de iteraciones y el valor predeterminado es 100.

x es la solución del sistema de ecuaciones

k es el número de iteraciones

bandera es una variable indicadora.

Valor inicial asignado:

Si nargin lt4 maxl = 100; fin

Si nargin lt3 EPS = 1e-5; n = longitud (b); k = 0;

x = cero (n, 1); y = cero (n, 1); bandera = ' OK

Iniciar iteración:

Y 1

Para i=1: n

y(I)= b(I);

Para j= 1 : n

Si j~=i

y(i)=y(i)-A(i, j)* x(j);

Fin

Fin

if abs(A(i,I)) lt 1e-10|k==maxl

flag="Failure"; ;

Fin

y(i)=y(i)/A(i,I);

Fin

si norma (y-x, INF) lt; batería

Romper;

Fin

x = y; k = k 1;

Fin

Definitivamente puedo arreglármelas con un poco de depuración. Todo probado. Recuerda calificarme. Gracias ~ ~ ~