Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Con la imagen anterior, se muestra las respectivas matrices L y U que son igualadas a la
matriz principal A. La finalidad de la factorización directa de matrices, es resolver este
sistema encontrando las respectivas 𝑙𝑖𝑗 𝑦 𝑢𝑖𝑗 , esto se logra mediante tres posibles soluciones.
Dichas soluciones se conocen como factorización de Doolittle, factorización de Crout y
factorización de Cholesky.
En forma general:
Conociendo a C
encontramos a x:
Propiedades:
Sirve para saber si una matriz simétrica es definida positiva.
Es estable.
Algoritmo:
Datos de Entrada: La Matriz
Datos de Salida: La Matriz Triangular Inferior, Superior
La factorización y el vector solución
Paso 1:
Para k = 1: n
Paso2:
Para i = 1: k-1
𝑗=1
𝑎𝑖𝑗 − ∑𝑙=1 𝐿𝑖𝑖 𝐿𝑙𝑗
Lij = 𝐿𝑖𝑖
Paso3:
Para j = 1: k-1
Paso4:
Hacer:
M.T.I = matriz
M.T.S = (M.T.I)’
Mostrar M.T.I y M.T.S
Paso5:
Para i>1
𝑏𝑖 −∑𝑖−1
𝑙=1 𝐿𝑖 𝐶𝑙
Ci = 𝐿𝑖𝑖
METODO DE JACOBI:
La primera técnica iterativa se conoce como el Método de Jacobi, también conocido
como “método de desplazamiento simultaneo”.
Este método hace dos suposiciones:
Algoritmo:
D.E: La matriz A /La matriz B /# de iteraciones (N).
D.S: Los valores de la aproximación.
P.1: Obtener el # de filas y columnas de A.
P.2: Crear un vector S de ceros en función del # de filas y columnas de A.
Hacer: S(i,i) = A(i,i)
P.3: Hacer: T= S-A
P.4: Crear un vector x de zeros en función del # de filas y columnas de B.
P.5: Crear otro vector xnuevo en función del # de filas y columnas de B.
P.6: Para: it=1:N
Para: i=1: #Columnas de B.
Hacer: xnuevo(i) = B(i)
P.7: Para: j=1: #Filas de B.
Hacer: xnuevo(i) = xnuevo(i) + T(i,j)*x(j)
xnuevo(i) = xnuevo(i)/S(i,i)
P.8: Hacer un cambio de variable:
X = xnuevo
P.9: Mostrar x1,x2 y x3.
P.10: Fin
Programación:
Clc
disp('Universidad Nacional Pedro Ruiz Gallo );
disp('Física Computacional II');
disp('Sandoval ventura JESUS ');
A= input('Ingrese la Matriz A:');
B= input('Ingrese la Matriz B:');
N= input('Número de Iteraciones:');
s=size(A);
rows=s(1);
cols=s(2);
S=zeros(size(A));
for i=1:cols;
S(i,i)=A(i,i);
end
T=S-A;
x=zeros(size(B));
xnew=zeros(size(B));
for it=1:N
for i=1:cols
xnew(i)=B(i);
for j=1:rows
xnew(i)=xnew(i)+T(i,j)*x(j);
end
xnew(i)=xnew(i)/S(i,i);
end
x=xnew;
end
disp('**********************************************');
disp('SOLUCION DEL SISTEMA DE ECUACIONES LINEALES');
fprintf(' iteraciones final número %i\n
Solución:',it);
fprintf('\n x1=%2.5f\n',x(1));
fprintf('\n x2=%2.5f\n',x(2));
fprintf('\n x3=%2.5f\n',x(3));