Ejercicios con matrices en R
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.
La digitación de las entradas de la matriz en RStudio es:
a <- matrix(c(1,2,3,2,4,6,3,6,9,4,8,12),ncol=3,byrow=TRUE)
a
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 2 4 6
## [3,] 3 6 9
## [4,] 4 8 12
Usamos el comando diag para hacer el diagonal lo deseado:
b <- diag(c(1,1,1,1))
b
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 0 1 0 0
## [3,] 0 0 1 0
## [4,] 0 0 0 1
Instalar el paquete “matlib
install.packages("matlib")
Creamos nuestra matriz
L <- matrix(c(1,-1,2,2,-1,7,-4,5,-3),nrow = 3,ncol = 3)
L
## [,1] [,2] [,3]
## [1,] 1 2 -4
## [2,] -1 -1 5
## [3,] 2 7 -3
Usamos solve para sacar la inversa, y la asignamos a una nueva matriz que llamaremos “inversa
inv<-solve(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
Hacerlo pero desde un archivo en excel (investigar como hacerlo)
library(readxl)
file.choose("C:/Users/Pc/AppData/Local/R/win-library/4.2/readxl")
ruta_excel <- "C:\\Escritorio\\universidad\\Programacion\\Matriz .xlsx"
matrizp <- read_excel(ruta_excel,sheet = "Hoja1",range = "B2:B11")
matrizp
\[\begin{equation} \left\{ \begin{array}{rl} x + 5y = 7 \\ -2x -7y = -5 \end{array} \right. \end{equation}\]
Puede usar el comando solve (investigue como hacerlo)
a <- rbind(c(1,5),c(-2,-7))
a
## [,1] [,2]
## [1,] 1 5
## [2,] -2 -7
b <- c(7,-5)
b
## [1] 7 -5
solve(a, b)
## [1] -8 3
X1 <- matrix(c(1,4,9,7,2,5,6,8,3), nrow = 3, byrow = T)
X1
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 7 2 5
## [3,] 6 8 3
det(X1)
## [1] 398
B <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, byrow = T)
B
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
t(B)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9