Matrices triangulares en Matlab
En esta clase, exploraremos la creación de matrices triangulares con Matlab, una herramienta esencial en el análisis y manipulación de datos numéricos.
¿Qué son las matrices triangulares? Denominamos matriz triangular a aquella matriz cuadrada cuyos elementos no nulos se localizan únicamente en la diagonal principal y, dependiendo del caso, por encima (matriz triangular superior) o por debajo (matriz triangular inferior) de esta. Los elementos restantes son cero. Por ejemplo, esta matriz representa una matriz triangular inferior: $$ T = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 3 & 0 \\ 4 & 5 & 6 \end{pmatrix} $$ Y esta otra, una matriz triangular superior: $$ T = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 0 & 6 \end{pmatrix} $$
Veamos un ejemplo práctico para ilustrar mejor estos conceptos.
Primero, generemos una matriz cuadrada de 3x3, con tres filas y tres columnas.
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Para convertir la matriz cuadrada M en una matriz triangular superior, utilizamos el comando triu(M).
Esta función transforma todos los elementos situados bajo la diagonal principal de la matriz M en ceros.
>> triu(M)
ans =
1 2 3
0 5 6
0 0 9
Si, por el contrario, deseamos obtener una matriz triangular inferior, emplearemos el comando tril(M).
La función tril() convierte en cero todos los elementos de la matriz M que se encuentran por encima de la diagonal principal.
>> tril(M)
ans =
1 0 0
4 5 0
7 8 9
Estos métodos nos permiten crear tanto matrices triangulares superiores como inferiores a partir de cualquier matriz cuadrada.
Es interesante destacar que Matlab también nos brinda la posibilidad de aplicar las funciones triu() y tril() en matrices rectangulares.
Como ejemplo, creemos una matriz rectangular de 3x4, con tres filas y cuatro columnas.
>> M2=[1 1 1 1; 2 2 2 2; 3 3 3 3]
M2 =
1 1 1 1
2 2 2 2
3 3 3 3
Al ejecutar triu(M2), obtenemos una matriz rectangular donde los elementos ubicados bajo la diagonal, iniciando desde el elemento superior izquierdo, se convierten en cero.
>> triu(M2)
ans =
1 1 1 1
0 2 2 2
0 0 3 3
Por otro lado, al utilizar tril(M2), el resultado será inverso, transformando los elementos por encima de la diagonal en cero.
>> tril(M2)
ans =
1 0 0 0
2 2 0 0
3 3 3 0