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 ~ ~ ~