UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

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



EJERCICIOS:

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.


Ejercicio 1: Considerando la siguiente matriz:

\[ 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

Ejercicio 2: Introducir la matriz identidad de tamaño 4x4

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

Ejercicio 3: Encontrar la matriz inversa de L

\[ 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

Ejercicio 4: Ingresar una matriz grande desde Excel

\[ 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"

Ejercicio 5: Resolver un sistema de ecuaciones lineales

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

Ejercicio 6: Calcular el determinante de una matriz 3x3

\[ 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

Ejercicio 7: Obtener la transpuesta de una matriz

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

CONCLUSIÓN

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.