Autores:
Colaborador:
Considerando la siguiente matriz
La digitación de las entradas de la matriz A en RStudio es:
A<-matrix(c(1,2,3,2,4,6,3,6,9,4,8,12))
nrow =
para indicar el número
de filas y ncol =
para el número de columnas que deseo
tener en la matriz.A<-matrix(c(1,2,3,2,4,6,3,6,9,4,8,12), nrow = 4,ncol = 3)
byrow =
y selecciono la
opción T
o TRUE
para que las entradas se
ordenen en funcion de las filas.A<-matrix(c(1,2,3,2,4,6,3,6,9,4,8,12), nrow = 4,ncol = 3, byrow = T)
A
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 2 4 6
## [3,] 3 6 9
## [4,] 4 8 12
Introducir la matriz identidad de tamaño 4x4 en RStudio (sin usar un vector de 16 valores)
Primero debemos crear una variable, luego a esta se asignara la funcion “diag()” aquí pondremos los elementos que iran en la diagonal que en este caso serán 4 números 1, así nos construirá un matriz de 4x4 con una diagonal que tiene solo el número 1 y el resto de elementos de la matriz serán cero.
I<-diag(c(1,1,1,1))
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
Encontrar la matriz inversa de L donde L se define como:
Usar el paquete matlib…
F1<-c(1,2,-4)
F2<-c(-1,-1,5)
F3<-c(2,7,-3)
L<-matrix(c(F1, F2, F3),nrow = 3,ncol = 3,byrow = T)
L
## [,1] [,2] [,3]
## [1,] 1 2 -4
## [2,] -1 -1 5
## [3,] 2 7 -3
install.packages("matlib")
Inverse()
library(matlib)
## Warning: package 'matlib' was built under R version 4.1.3
Inverse(L)
## [,1] [,2] [,3]
## [1,] -16.0 -11.0 3.0
## [2,] 3.5 2.5 -0.5
## [3,] -2.5 -1.5 0.5
Suponga que se quiere ingresar una matriz con muchas entradas como la matriz P que se presenta a continuación.
hacerlo pero desde un archivo en excel (Investigue como hacerlo)
PASO 1: Ingresamos el codigo para que nuestro programa pueda leer archivos del tipo .xl
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
PASO 2: Utilizamos el comando file.choose
para buscar la
ruta del archivo de excel.
file.choose()
PASO 3: Definimos el directorio en la que se encuentra el archivo excel con la matriz que se va a insertar.
ruta<-"C:\\Users\\usuario\\Desktop\\PROGRAMACIÓN\\TRABAJOS EN GRUPO\\TALLER 6\\matriz.xlsx"
matriz<-read_excel(ruta)
PASO 4: Convertimos el archivo excel a matriz R.
my_mat <- as.matrix(matriz)
PASO 5: Corremos la variable que tiene la matriz y verificamos que esté correcta.
my_mat
## Columna 1 Columna 2 Columna 3 Columna 4 Columna 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
PASO 6: Verificamos el tipo de variable con la función
is.matrix()
y class()
is.matrix(my_mat)
## [1] TRUE
class(my_mat)
## [1] "matrix" "array"
Resolver el siguiente sistema de ecuaciones utilizando R y el comando solve():
Analice el siguiente sistema de ecuación lineal
a<-matrix(c(1,-2,5,-7), ncol=2,nrow = 2)
a
## [,1] [,2]
## [1,] 1 5
## [2,] -2 -7
b<-c(7,-5)
b
## [1] 7 -5
solve(a,b)
## [1] -8 3
Realice el determinate de la siguiente matriz, la solución manual se adjunta, usted debe realizarlo por R, puede usar la funcion det y comprobar los resultados.
Esta primera solución es un poco larga:
x<-c(1,7,6,4,2,8,9,5,3)
matrix( )
, dentro de esta función colocaremos la primera
variable con todas las entradas, adicional a eso colocararemos el número
de filas y de columnas que con nrow=
y ncol=
respectivamente.a<-matrix(x,nrow=3 ,ncol =3)
a
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 7 2 5
## [3,] 6 8 3
pa1<-a[1,1] #1
pa2<-a[2,1] #7
pa3<-a[3,1] #6
pa4<-a[1,2] #4
pa5<-a[2,2] #2
pa6<-a[3,2] #8
pa7<-a[1,3] #9
pa8<-a[2,3] #5
pa9<-a[3,3] #3
l1<-(pa1*pa5*pa9)
l2<-(pa2*pa6*pa7)
l3<-(pa3*pa4*pa8)
cruz1<-sum(l1+l2+l3)
cruz1
## [1] 630
l4<-(pa7*pa5*pa3)
l5<-(pa8*pa6*pa1)
l6<-(pa9*pa4*pa2)
cruz2<-sum(l4+l5+l6)
cruz2
## [1] 232
resultado<-cruz1-cruz2
resultado
## [1] 398
Compobación:
det(a)
## [1] 398
Esta solución mucho más rápida de resolver.
x<-c(1,7,6,4,2,8,9,5,3)
matrix( )
, dentro de esta función colocaremos la primera
variable con todas las entradas, adicional a eso colocararemos el número
de filas y de columnas que con nrow=
y ncol=
respectivamente.a<-matrix(x,nrow=3 ,ncol =3)
a
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 7 2 5
## [3,] 6 8 3
det( )
, dentro del paréntesis colocaremos la
variable que contiene a la matriz y finalmente ejecutamos.det(a)
## [1] 398
Realizar en R la transpuesta de la matriz propuesta a continuación:
y<-c(1,4,7,2,5,8,3,6,9)
y
## [1] 1 4 7 2 5 8 3 6 9
matrix( )
dentro de esta función colocaremos la variable
con los elementos y adicional el número de filas y columnas que tendrá
la matriz con nrow=
y ncol=
respectivamente.b<-matrix(y,nrow = 3, ncol = 3)
b
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
cbind
en la cuál colocaremos
nuestra matriz, luego colocamos dentro de la función t( )
la variable antes creada y así tendre el resultado.A=cbind(b)
t(A)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9