UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONOMICAS

CARRERA DE ESTADÍSTICA

Autores:

Colaborador:


EJERCICIOS DE MATRICES

EJERICICIO N°1

Considerando la siguiente matriz

La digitación de las entradas de la matriz A en RStudio es:

PROCEDIMIENTO

  1. Primero debo crear una variable de nombre A, a esta le voy a asignar una matriz a la cual voy a colocar las entradas o elementos que necesite.
A<-matrix(c(1,2,3,2,4,6,3,6,9,4,8,12))
  1. Luego coloco el argumento 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)
  1. Por último pongo el argumento 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

EJERICICIO N°2

Introducir la matriz identidad de tamaño 4x4 en RStudio (sin usar un vector de 16 valores)

PROCEDIMIENTO

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

EJERICICIO N°3

Encontrar la matriz inversa de L donde L se define como:

Usar el paquete matlib…

PROCEDIMIENTO

  1. Creamos vectores donde ira el contenido de las filas
F1<-c(1,2,-4)
F2<-c(-1,-1,5)
F3<-c(2,7,-3)
  1. Usamos la función (matrix) para crear la respectiva matriz el cual le corresponde a L.
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
  1. Luego de realizar la matriz, encontramos la matriz inversa, siuiendo lo sientes pasos:
  • Primero instalamos el paquete “matlib”
install.packages("matlib")
  • Segundo identificamos el comando que nos dara la matrix inverza que es:
Inverse()
  • Tercero colocamos el valor colocamos el comando Inverse() dentro de aquello colocamos nuestra matriz. El cual nos dara la función inversa.
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

EJERICICIO N°4

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)

PROCEDIMIENTO

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"

EJERICICIO N°5

Resolver el siguiente sistema de ecuaciones utilizando R y el comando solve():

Analice el siguiente sistema de ecuación lineal

PROCEDIMIENTO

  1. Ingreseamos lo valores que le pertencen a las columnas de la ecuación.
a<-matrix(c(1,-2,5,-7), ncol=2,nrow = 2)
a
##      [,1] [,2]
## [1,]    1    5
## [2,]   -2   -7
  1. Ingresamos la columna que se encuntra despues del igual.
b<-c(7,-5)
b
## [1]  7 -5
  1. Utilizamos el comando solve que se encuentra en el paquete de “matlib” y nos sirve para resolver el sistema de ecuaciones y obtener las raices.
solve(a,b)
## [1] -8  3

EJERICICIO N°6

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.

PROCEDIMIENTO

SOLUCIÓN N°1

Esta primera solución es un poco larga:

  1. Crear un vector con todos los elementos o entradas que necesitemos vayan a ir dentro de la matriz.
x<-c(1,7,6,4,2,8,9,5,3)
  1. Ahora asignamos a una nueva variable la función 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
  1. Creamos varias variables a las cuales asignaremos a cada una de los elementos de la matriz.
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
  1. Asignamos nuevas variables en las cuales guardaremos las multiplicaciones correspondientes.
l1<-(pa1*pa5*pa9)
l2<-(pa2*pa6*pa7)
l3<-(pa3*pa4*pa8)
  1. Depués, en otra variable guardamos la suma de todos los resultados de las multiplicaciones antes resueltas.
cruz1<-sum(l1+l2+l3)
cruz1
## [1] 630
  1. Para continuar con el cálculo del determinante realizamos el procedimiento antes ya indicado. Asignamos nuevas variables en las cuales guardaremos las multiplicaciones correspondientes.
l4<-(pa7*pa5*pa3)
l5<-(pa8*pa6*pa1)
l6<-(pa9*pa4*pa2)
  1. Depués, en otra variable guardamos la suma de todos los resultados de las multiplicaciones antes resueltas.
cruz2<-sum(l4+l5+l6)
cruz2
## [1] 232
  1. Por último, restamos el resultado de la primera suma al resultado de la segunda, y así obtendremos nuestro determinante.
resultado<-cruz1-cruz2
resultado
## [1] 398

Compobación:

det(a)
## [1] 398
SOLUCIÓN N°2

Esta solución mucho más rápida de resolver.

  1. Crear un vector con todos los elementos o entradas que necesitemos vayan a ir dentro de la matriz.
x<-c(1,7,6,4,2,8,9,5,3)
  1. Ahora asignamos a una nueva variable la función 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
  1. Finalmente para encontrar el determinante, tenemos que usar la función det( ), dentro del paréntesis colocaremos la variable que contiene a la matriz y finalmente ejecutamos.
det(a)
## [1] 398

EJERICICIO N°7

Realizar en R la transpuesta de la matriz propuesta a continuación:

  1. Asignamos a una variable todos los elementos que vamos a colocar en la matriz.
y<-c(1,4,7,2,5,8,3,6,9)
y
## [1] 1 4 7 2 5 8 3 6 9
  1. Ahora en una nueva variable colocamos la función 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
  1. Por último, y así poder conseguir la matriz transpuesta asignamos a una variable la función 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