CARRERA DE INGENIERÍA EN ESTADÍSTICA TERCER
SEMESTRE
PROGRAMACIÓN
TALLER Nº6
TEMA: Ejercicios de Matrices en R
GRUPO Nº7
Curso: EST S3 – 002
Docente: Ing. Francisco Valverde
Matrices en RStudio
El comando que permite introducir matrices en RStudio es matrix().
Para construir una matriz B escribimos: B <−matrix(c(); ncol =; nrow =)
Donde 𝑐() corresponde al vector de las entradas de la matriz A separadas por comas y siguiendo el orden de las columnas, además 𝑛𝑐𝑜𝑙 corresponde al número de columnas y 𝑛𝑟𝑜𝑤 el número de filas.
\[ A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \\ 4 & 8 & 12 \end{pmatrix} \]
Creamos una matriz de 4 filas y 3 columnas. Los valores se llenan por columnas.
# Creamos la matriz A con 4 filas y 3 columnas.
# Los valores se llenan por columnas automáticamente.
A <- matrix(c(1, 2, 3, 4, # Columna 1
2, 4, 6, 8, # Columna 2
3, 6, 9, 12), # Columna 3
nrow = 4, ncol = 3)
# Mostramos la matriz A
print("Matriz A:")
## [1] "Matriz A:"
print(A)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 2 4 6
## [3,] 3 6 9
## [4,] 4 8 12
Generamos una matriz identidad de orden 4, con 1s en la diagonal y 0s en el resto.
# Creamos la matriz identidad 4x4 usando la función diag
I <- diag(4)
# Mostramos la matriz identidad
print("Matriz identidad 4x4:")
## [1] "Matriz identidad 4x4:"
print(I)
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 0 1 0 0
## [3,] 0 0 1 0
## [4,] 0 0 0 1
\[ L = \begin{pmatrix} 1 & 2 & -4 \\ -1 & -1 & 5 \\ 2 & 7 & -3 \end{pmatrix} \]
Utilizamos la librería matlib
para obtener la
inversa
# Cargamos la librería matlib
# install.packages("matlib") # Descomentar si es necesario
library(matlib)
# Definimos una matriz L
L <- matrix(c(1,2,-4,-1,-1,5,2,7,-3), nrow = 3, byrow = TRUE)
# Mostramos la matriz L
print("Matriz L:")
## [1] "Matriz L:"
print(L)
## [,1] [,2] [,3]
## [1,] 1 2 -4
## [2,] -1 -1 5
## [3,] 2 7 -3
# Calculamos la inversa de L
L_inv <- inv(L)
# Mostramos la matriz inversa
print("Inversa de L:")
## [1] "Inversa de L:"
print(L_inv)
## [,1] [,2] [,3]
## [1,] -16.0 -11.0 3.0
## [2,] 3.5 2.5 -0.5
## [3,] -2.5 -1.5 0.5
\[ P = \begin{pmatrix} 1 & 2 & 3 & 0 & 2 \\ 2 & 4 & 6 & 0 & 3 \\ 3 & 6 & 9 & 0 & 4 \\ 4 & 8 & 12 & 5 & 5 \\ 5 & 10 & 15 & 10 & 7 \\ 6 & 12 & 18 & 15 & 11 \\ 7 & 14 & 21 & 17 & 13 \\ 8 & 16 & 24 & 19 & 17 \\ 9 & 18 & 27 & 5 & 23 \end{pmatrix} \]
Usamos readxl
para importar datos desde un archivo
Excel.
# Cargamos la librería readxl
# install.packages("readxl") # Descomentar si es necesario
library(readxl)
# Leemos un rango de celdas desde un archivo Excel (ajustar ruta si es necesario)
P <- read_excel("matrizP.xlsx", range = "A1:E9", col_names = FALSE)
# Convertimos el data frame a matriz
P <- as.matrix(P)
# Mostramos la matriz importada
print("Matriz P desde Excel:")
## [1] "Matriz P desde Excel:"
print(P)
## ...1 ...2 ...3 ...4 ...5
## [1,] 1 2 3 0 2
## [2,] 2 4 6 0 3
## [3,] 3 6 9 0 5
## [4,] 4 8 12 0 7
## [5,] 5 10 15 5 11
## [6,] 6 12 18 5 13
## [7,] 7 14 21 5 17
## [8,] 8 16 24 5 19
## [9,] 9 18 27 5 23
# Mostramos el directorio de trabajo actual (útil para saber dónde guardar o buscar el archivo Excel)
getwd()
## [1] "C:/Users/Kevin/Downloads"
Sistema a resolver:
\[ \left\{\begin{array}{l} x + 5y = 7 \\ -2x - 7y = -5 \end{array}\right. \]
# Definimos la matriz de coeficientes (llenado por columnas)
A_sys <- matrix(c(1, -2, 5, -7), nrow = 2, ncol = 2)
# Vector de términos independientes
b_sys <- c(7, -5)
# Resolvemos el sistema usando solve()
sol <- solve(A_sys, b_sys)
# Mostramos la solución (valores de x e y)
print("Solución del sistema:")
## [1] "Solución del sistema:"
print(sol)
## [1] -8 3
\[ A = \begin{pmatrix} 1 & 4 & 9 \\ 7 & 2 & 5 \\ 6 & 8 & 3 \end{pmatrix} \]
La solución manual es:
\[ |A| = 1 \cdot 2 \cdot 3 + 4 \cdot 5 \cdot 6 + 7 \cdot 8 \cdot 9 - 9 \cdot 2 \cdot 6 - 4 \cdot 7 \cdot 3 - 5 \cdot 8 \cdot 1 = 398 \]
# Definimos la matriz M de 3x3
M <- matrix(c(1, 4, 9,
7, 2, 5,
6, 8, 3),
nrow = 3, byrow = TRUE)
# Mostramos la matriz
print("Matriz M:")
## [1] "Matriz M:"
print(M)
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 7 2 5
## [3,] 6 8 3
# Calculamos su determinante
detM <- det(M)
print("Determinante de M:")
## [1] "Determinante de M:"
print(detM)
## [1] 398
Matriz original:
\[ A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \quad \Rightarrow \quad A^T = \begin{pmatrix} 1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9 \end{pmatrix} \]
# Definimos la matriz T
T <- matrix(c(1, 2, 3,
4, 5, 6,
7, 8, 9),
nrow = 3, byrow = TRUE)
# Mostramos la matriz original
print("Matriz original T:")
## [1] "Matriz original T:"
print(T)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
# Calculamos la transpuesta
T_transpuesta <- t(T)
print("Transpuesta de T:")
## [1] "Transpuesta de T:"
print(T_transpuesta)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Este documento guía paso a paso cómo trabajar con matrices en R: creación, identidad, inversa, lectura desde Excel, solución de sistemas lineales, determinantes y transposición.