Operaciones con Matrices y Simulación en R
Las matrices son estructuras fundamentales en matemáticas y programación que nos permiten organizar números en filas y columnas. Son útiles en álgebra lineal, estadística, ciencias de datos y simulaciones. En este artículo, exploraremos las operaciones básicas con matrices y cómo realizarlas en R, con ejemplos y resultados simulados.
1. Creación de matrices en R
# Matriz A A <- matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, byrow=TRUE) # Matriz B B <- matrix(c(9,8,7,6,5,4,3,2,1), nrow=3, byrow=TRUE) Resultado de A:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
Resultado de B:
| 9 | 8 | 7 |
| 6 | 5 | 4 |
| 3 | 2 | 1 |
2. Suma y Resta
# Suma Suma <- A + B # Resta Resta <- A - B A + B:
| 10 | 10 | 10 |
| 10 | 10 | 10 |
| 10 | 10 | 10 |
A - B:
| -8 | -6 | -4 |
| -2 | 0 | 2 |
| 4 | 6 | 8 |
3. Multiplicación
# Multiplicación elemento por elemento Elem <- A * B # Multiplicación matricial Mat <- A %*% B Elemento por elemento (A * B):
| 9 | 16 | 21 |
| 24 | 25 | 24 |
| 21 | 16 | 9 |
Multiplicación matricial (A %*% B):
| 30 | 24 | 18 |
| 84 | 69 | 54 |
| 138 | 114 | 90 |
4. Transpuesta
# Transpuesta de A t(A) Transpuesta de A:
| 1 | 4 | 7 |
| 2 | 5 | 8 |
| 3 | 6 | 9 |
5. Determinante e Inversa
# Determinante de A det(A) # = 0, no tiene inversa # Matriz C y su inversa C <- matrix(c(1,2,3,0,1,4,5,6,0), nrow=3, byrow=TRUE) solve(C) Inversa de C:
| 0 | 0 | 1 |
| -2 | 1 | 1 |
| 3 | -1 | -2 |
6. Simulación con matrices aleatorias
# Generar matrices aleatorias 3x3 set.seed(123) M1 <- matrix(sample(1:10, 9, replace=TRUE), 3, 3) M2 <- matrix(sample(1:10, 9, replace=TRUE), 3, 3) # Mostrar operaciones M1 + M2 M1 %*% M2 Resultado de M1:
| 3 | 3 | 8 |
| 6 | 10 | 7 |
| 10 | 4 | 7 |
Resultado de M2:
| 7 | 3 | 6 |
| 10 | 2 | 7 |
| 2 | 7 | 7 |
Aplicaciones de las Matrices en Situaciones del Mundo Real
Las matrices no solo son un concepto matemático; son herramientas que nos permiten resolver problemas reales en ingeniería, economía, ciencia de datos y logística. A continuación veremos algunos ejemplos prácticos y cómo implementarlos en R.
1. Economía: Flujo de Productos entre Tiendas
Supongamos que tenemos 3 tiendas que intercambian productos entre ellas. Podemos usar matrices para modelar los flujos y calcular el inventario final.
# Matriz de productos enviados de cada tienda a las otras flujo <- matrix(c( 0, 10, 5, 2, 0, 4, 1, 3, 0 ), nrow=3, byrow=TRUE) # Inventario inicial inventario <- c(50, 60, 40) # Inventario final = Inventario inicial - salida + entrada inventario_final <- inventario - rowSums(flujo) + colSums(flujo) inventario_final
2. Ingeniería: Transformación de Coordenadas
En gráficos por computadora, robótica o ingeniería, las matrices se usan para rotar, escalar y trasladar objetos en el espacio.
# Coordenadas de un punto punto <- matrix(c(2, 3), nrow=2) # Matriz de rotación 90 grados rotacion <- matrix(c(0,-1,1,0), nrow=2) # Punto rotado punto_rotado <- rotacion %*% punto punto_rotado
3. Redes y Transporte: Modelando Tráfico
Una matriz puede representar el número de vehículos que se mueven entre ciudades, y con álgebra matricial podemos predecir congestiones.
# Tráfico diario entre 3 ciudades trafico <- matrix(c( 0, 100, 50, 70, 0, 30, 20, 40, 0 ), nrow=3, byrow=TRUE) # Total de vehículos que llegan a cada ciudad llegadas <- colSums(trafico) llegadas
4. Economía y Finanzas: Portafolio de Inversiones
Las matrices ayudan a calcular rendimientos esperados y riesgos de portafolios con varias acciones.
# Rendimientos de 3 activos durante 4 días rendimientos <- matrix(c( 0.01, 0.02, 0.015, 0.005, 0.01, 0.02, 0.02, 0.015, 0.01, 0.01, 0.01, 0.005 ), nrow=4, byrow=TRUE) # Promedio de rendimientos por activo promedio <- colMeans(rendimientos) promedio
5. Ciencia: Análisis de Imágenes
Las imágenes digitales son matrices de píxeles. Podemos manipularlas con matrices para ajustar brillo o aplicar filtros.
# Ejemplo simple de imagen 3x3 imagen <- matrix(c( 100, 120, 130, 90, 110, 120, 80, 100, 110 ), nrow=3, byrow=TRUE) # Aumentar brillo imagen_brillo <- imagen + 20 imagen_brillo
[120, 140, 150]
[110, 130, 140]
[100, 120, 130]
Conclusión
Como vemos, las matrices son versátiles y aplicables en muchos campos: logística, ingeniería, finanzas, transporte y ciencia. Aprender a manejarlas con R nos permite modelar, simular y resolver problemas del mundo real de manera eficiente.
No hay comentarios:
Publicar un comentario