Guia Matlab
Universidad Politécnica de Madrid
EJEMPLO 1: RESOLUCIÓN DE SISTEMAS TRIANGULARES
La función x=solve_U(U,b), implementa la resolución de un
sistema triangular superior Ux=b, utilizando el método sustitución regresiva.
Los argumentos de entrada son la matriz triangular superior U y el vector b. El
argumento de salida es x. Si la matriz de entrada es singular, x será un vector
de NaN.
Por otra parte, la función x=solve_L(L,b). implementa la resolución de un sistema
triangular inferior Lx=b.
[ANEXO solve_U.m solve_L.m]
Si la matriz U es triangular superior y la matriz L es triangular inferior con 1s
en la diagonal, se puede reducir el tamaño de memoria utilizado almacenando
las matrices U y L en una única matriz L_U:
Combinar las dos funciones anteriores en una tercera,
x=solve_LU(L_U,b), que resuelva el sistema LUx=b, donde L_U
contiene las matrices L y U. Recordar que la función debe resolver dos
sistemas:
Ly=b donde L contiene los elementos de la triangular inferior de L_U y 1s
en su diagonal,
Ux=y donde U contiene los elementos de la triangular superior de L_U e y
es la solución del sistema anterior.
Comprobar la función resolviendo LUx=b, ejecutando x=solve_LU(L_U,b),
donde
L=[1 0 0 0 0;7 1 0 0 0;2 7 1 0 0;0 9 7 1 0;7 3 6 4 1]
U=[9 3 2 0 7;0 6 9 6 4;0 0 7 8 2;0 0 0 2 2;0 0 0 0 3]
L_U=[9 3 2 0 7;7 6 9 6 4;2 7 7 8 2;0 9 7 2 2;7 3 6 4 3]
b=[35;303;522;858;763];
La solución es x= [0 1 2 3 4]'.
Calcular el valor de la matriz A=L*U. Comprobar que x es la solución de
Ax=b. Calcular el vector residuo.