Considerando la matriz :
\[ A= \left(\begin{array}{cc} 1 & 2 & 3 \\2 & 4 & 6 \\ 3 & 6 & 9 \\ 4 & 8 & 12 \end{array}\right)\]
La digitacion de las entradas de la matriz A a Rstudio es :
PASO 1
Para generar los valores de un vector también se pueden usar las funciones seq() y rep().Con la instrucción seq(a,b,by=r) o, simplemente seq(a,b,r), se genera una lista de números que empieza en a y termina en b, de la forma a, a+r, a+2r, …
d1<-seq(1,4,by = 1)
d2<-seq(2,8,by = 2)
d3<-seq(3,12,by = 3)
PASO 2
Luego unimos rbind() para crear un matriz, en la que cada vector será un renglón.Si utilizamos cbind(), entonces cada vector será una columna. En nuestro ejercicio utilizamos cbind() para que asi los vectores se ordenen en columnas.
A<-cbind(d1,d2,d3)
PRESENTAMOS LA MATRIZ A
A
## d1 d2 d3
## [1,] 1 2 3
## [2,] 2 4 6
## [3,] 3 6 9
## [4,] 4 8 12
Introducir la matriz identidad tamaño 4x4 en Rstudio(Sin usar un vector de 16 valores)
\[ I= \left(\begin{array}{cc} 1 & 0 & 0 & 0 \\0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right)\] PASO 1
Al no poder crear un vector de 16 velores,creamos 4 vectores con 4 valores cada uno de la siguiente manera:
a1<-c(1,0,0,0)
a2<-c(0,1,0,0)
a3<-c(0,0,1,0)
a4<-c(0,0,0,1)
PASO 2
Utilizamos cbind() para que los vectores se ordenen por columnas
I<-cbind(a1,a2,a3,a4)
PRESENTAMOS LA MATRIZ IDENTIDAD
I
## a1 a2 a3 a4
## [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:
\[ L= \left(\begin{array}{cc} 1 & 2
& -4 \\-1 & -1 & 5 \\ 2 & 7 &
-3 \end{array}\right)\]
PASO 1
Creamos la matriz del ejercicio
L <- matrix( c( 1 , 2, -4, -1, -1, 5, 2, 7, -3), nrow = 3, byrow = T)
L
## [,1] [,2] [,3]
## [1,] 1 2 -4
## [2,] -1 -1 5
## [3,] 2 7 -3
PASO 2
Creamos la matriz identidad
i <- diag(c(1,1,1)) #Matriz identidad
i
PASO 3
Hacemos la matriz inversa multiplicando matricialmente la matriz identidad y la matriz L
Li <- L%*%i #Forma incorrecta
Li
## [,1] [,2] [,3]
## [1,] 1 2 -4
## [2,] -1 -1 5
## [3,] 2 7 -3
Esta es una forma incorrecta de hacerlo ya que al multiplicar la matriz L por su identidad obtenemos nuevamente la matriz L
FORMA 1
PASO 1
Usamos la funcion solve que ya viene pretederminada en el R, usamos la matriz L como argumento y la asignamos a Li como su matriz inversa
Li2 <- solve(L) #Forma 1
Li2
## [,1] [,2] [,3]
## [1,] -16.0 -11.0 3.0
## [2,] 3.5 2.5 -0.5
## [3,] -2.5 -1.5 0.5
FORMA 2
PASO 1
Instalamos el paquete matlib que nos permite hacer analisis de algebra lineal y estadisticas multivariable
#install.packages("matlib")
#library(matlib) #cargamos el paquete
PASO 2
Usamos la funcion Inverse del paquete matlib y como argumento la matriz L, y le asignamos Li2 la matriz
#Li3 <- Inverse(L) #Forma 2
#Li3
Suponga que se quiere ingresar una matriz con muchas entradas como la matriz P que se presenta a continuacion:
\[ A= \left(\begin{array}{cc} 1 & 2 & 3 & 0 & 2 \\2 & 4 & 6 & 0 & 3 \\ 3 & 6 & 9 & 0 & 5 \\ 4 & 8 & 12 & 0 & 7 \\ 5 & 10 & 15 & 5 & 11 \\ 6 & 12 & 18 & 5 & 13 \\ 7 & 14 & 21 & 5 & 17\\ 8 & 16 & 24 & 5 & 19\\ 9 & 18 & 27 & 5 & 23 \end{array}\right)\]
PASO 1
Instalamos el paquete readxl que nos permite importar datos de archivos de excel
#install.packages("readxl")
#library(readxl) #Llamamos a la libreria
PASO 2
Con la funcion file.choose , se nos abrira una ventana y seleccionamos el archivo de excel del que queremos importar nuestros y nos dara como resultado la direccion del archivo en una forma que R puede entender
#file.choose()
PASO 3
Importamos los datos con la funcion read_excel del paquete readxl, y como argumento ponemos la direccion del archivo y los guardamos en una variable
#datosmatriz <- read_excel("C:\\Users\\USUARIO\\OneDrive\\Documentos\\TERCER SEMESTRE\\Programacion\\Ejercicio 4.xlsx")
#datosmatriz #se pasan los datos como un dataframe
Debemos tener en cuenta que los datos importados se pasan en forma de data frame
PASO 4
Para tener una mejor visualizacion al momento de pasar de dataframe a matriz, borramos los nombres de las columnas del dataframe, asignando NULL como nombre de las columnas
#colnames(datosmatriz) <- NULL
PASO 5
Tranformamos el dataframe a matriz, usando la funcion data.matrix, en el que poneos como argumento el dataframe importado y obtendriamos nuestra matriz
#colnames(datosmatriz) <- NULL
Para verificar que P en realidad es una matriz, lo hacemos con is.matrix y vemos que si es una matriz
#is.matrix(P)
Resolver el siguiente sistema de ecuaciones usando R:
\[\left\{\begin{array}{rl} x+5y=7\\ -2x-7y= -5 \end{array} \right. \]
Para resolver el sistema de ecuaciones
PASO 1
se debe colocar los valores de las variables en una matriz
a <- rbind(c(1,5),c(-2,-7))
a
## [,1] [,2]
## [1,] 1 5
## [2,] -2 -7
Utilizamos el comando rbind para que los valores de la
matriz se visualizen por columnas
Paso 2
Colocamos los valores sin variables dentro de un vector
b <- c(7,-5)
b
## [1] 7 -5
Y por último utilizamos la función solve, esta función
nos permite calcular la inversa de la matriz y así poder resolver este
sistema de ecuaciones.
solve(a, b)
## [1] -8 3
Realice el determinante de la siguiente matriz, la solución se adjunta, usted debe realzarlo por R, puede usar la función det y comprobar los resultados.
\[ A= \left(\begin{array}{cc} 1 & 4 & 9 \\7 & 3 & 5\\ 6 & 8 & 3 \end{array}\right)\] \[ |A| = 1 \cdot 2 \cdot 3 \\ +4\cdot5\cdot6 \\ +7\cdot8\cdot9 \\ -9\cdot2\cdot6 \\ -4\cdot7\cdot3 \\ -5\cdot8\cdot1 = \\ =6+120+504 \\ -108-84-40=\\ =398\]
PASO 1
Creamos la matriz y la ordedamos por columnas con el comando rbind
A <- rbind(c(1,4,9),c(7,2,5),c(6,8,3))
A
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 7 2 5
## [3,] 6 8 3
PASO 2 det()La función en R Language se usa para calcular el determinante de la matriz especificada. Sintaxis det (x,…) Parámetros x matriz
det(A)
## [1] 398
Encontrar la transpuesta de la matriz
PASO 1
Creamos una variables y le asignamos una matriz de 3x3 y le adjudicamos con el byrow=True para que vaya escribiendo la matriz por filas
A<-matrix(1:9,nrow=3,byrow = T)
PASO 2
Creamos una variable para asignar nuestra matriz transpuesta con la función t( )
Atranspuesta<-t(A)
Otra Forma
PASO 1
Creamos variables y le vamos asignando nuestras columnas
a<-A[,1]
b<-A[,2]
c<-A[,3]
PASO 2
Asignamos en una variable una matriz que va a tener los valores de nuestras columnas le decimos que va a tener 3 filas con nrow porque nuestra matriz era de 3x3 y con el byrow vammos a obtener la matriz transpuesta
NotaEsta forma de sacar la matriz transpuesta es solo una alternativa es recomendable realizarla con la forma 1 con la función t()
ATrasnpuesta2<-matrix(c(a,b,c),nrow=3,byrow = T)
PROGRAMA EJECUTADO
##Forma 1:
A<-matrix(1:9,nrow=3,byrow = T)
Atranspuesta<-t(A)
Atranspuesta
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##Forma 2:
a<-A[,1]
b<-A[,2]
c<-A[,3]
ATrasnpuesta2<-matrix(c(a,b,c),nrow=3,byrow = T)
ATrasnpuesta2
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9