Está en la página 1de 4

Número_de_simulaciones_a_querer=90000 En la primera línea se generalizó la

cantidad de repeticiones que se quiere


##=========CÓDIGO====== simular el código.

Simulación=replicate(n=Número_de_simulaciones_a_querer,{ La función «replicate» busca replicar


el código dentro de ella el número de
Reservaciones=sample(96:105,1,replace=T)
veces asignado arriba.
Distribución_reservas_sin_asistencias=function(Uniforme=runif(1)){
Luego, se genera un número aleatorio
if (Uniforme<=0.1){ Cantidad_de_reservas_sin_asistencias=0} (entre 96 y 105, según el problema)
de reservaciones.
else if ((Uniforme> 0.1) & (Uniforme<= 0.3)){Cantidad_de_reservas_sin_asistencias=1}
De forma análoga, se crea una
else if ((Uniforme> 0.3) & (Uniforme<= 0.55)){Cantidad_de_reservas_sin_asistencias=2} función, función que primero genera
un número uniforme (0,1), luego,
else if ((Uniforme> 0.55) & (Uniforme<= 0.85)){Cantidad_de_reservas_sin_asistencias=3} compara ese número dentro de las
condiciones propuestas, generando
else if ((Uniforme> 0.85) & (Uniforme<= 0.95)){Cantidad_de_reservas_sin_asistencias=4} así, la función de distribución de las
reservas sin asistencias. Para terminar
else if ((Uniforme> 0.95) & (Uniforme<= 1)){Cantidad_de_reservas_sin_asistencias=5} la función, se imprime cada número
print("Número de reservaciones sin asistencia:") de habitaciones generados, y debajo
de éste, el número de reservas sin
print(Cantidad_de_reservas_sin_asistencias)
asistencias
}print("=====================================")
print("Cantidad de reservaciones")
Dentro de la función
print(Reservaciones)
«replicate» se imprime la
Cantidad_de_habitaciones_Reclamadas_por_noche=Reservaciones-
cantidad de habitaciones
Distribución_reservas_sin_asistencias() print("cantidad de habitaciones reclamadas") asignadas, la cantidad de
print(Cantidad_de_habitaciones_Reclamadas_por_noche)}) habitaciones reservadas sin
sprintf("Matriz de la cantidad de habtiaciones reclamadas en %i simulaciones ", asistencia y la cantidad de
Número_de_simulaciones_a_querer) Simulación habitaciones reclamadas por
noche, imprimiendo así, una
##==========================RESPUESTA A LAS OBSERVACIONES PROPUESTAS lista.
Título=sprintf("Histograma sobre el número de habitaciones pedidas por noche en %i
simulaciones ", Número_de_simulaciones_a_querer) La última parte del código
imprime la matriz de la
hist(Simulación,xlab = "Cantidad de habitaciones pedidas por noche", función «replicate», donde
ylab = "Frecuencia relativa",probability = TRUE,col = "blue", main=Título) esta imprime el número
total de habitaciones
##==porcentaje de noches cuando reclaman más de 100 habitaciones pedidas, para finalizar
realizando el histograma de
éste.

Noches__donde_se_reclaman_más_de_100_habitaciones=length(Simulación[Simulación>100])

porcentaje_por_noche_más_de_100_habitaciones=
Noches__donde_se_reclaman_más_de_100_habitaciones/Número_de_simulaciones_a_querer
sprintf("Esperanza del número de habitaciones
reclamadas por noche en %i simulaciones ", Número_de_simulaciones_a_querer)
mean(Simulación) sprintf("Porcentaje de habitaciones cuando se reclaman más de 100 habitaciones, en %i
simulaciones ", Número_de_simulaciones_a_querer)
porcentaje_por_noche_más_de_100_habitaciones

###=========================== Se instalan y cargan los paquetes necesarios para la


install.packages('triangle') require(triangle) generación de la distribución triangular.
##=========================
Número_de_veces_a_simular=1000

Dentro de la función «replicate» se generan las


distribuciones pedidas en el ejercicio, así, primero
##=========================== se genera un número de la distribución triangular
Simulación=replicate(n=Número_de_veces_a_simular,{ con sus parámetros pedidos, correspondiendo a la
distribución de los pistones. Siguiente a esto, se
##============================(DISTRIBUCIONES) genera un número normal con sus parámetros
Proceso_pistones=rtriangle(1,1.0000,1.0020,1.0010) pedidos, correspondiendo a la distribución de los
Proceso_cilíndros=rnorm(1,1.0020,0.0010) cilindros.
##============================(INTERFERENCIAS) Luego, se define el claro como la diferencia entre
Claro=Proceso_cilíndros-Proceso_pistones los procesos.
Claro}) Para finalizar se imprime la matriz generada por la
##=============================(IMPRESIONES) función «replicate» de los claros.
print("Vector de los claros")
Simulación

##=============================(INTERFERENCIAS(CLAROS De la matriz de los claros se extraen aquellos


NEGATIVOS)) valores negativos, definiendo así a las
Interferencias=(Simulación[Simulación<0]) interferencias.
print("Vector de las interferencias")
Interferencias
##===============================================(RESOLUCIÓN DE PUNTOS)

##(A)

sprintf("Probailidad de interferencia en %i simulaciones",Número_de_veces_a_simular)

Probabilidad_interferencia=(length(Interferencias))/Número_de_veces_a_simular

Probabilidad_interferencia
La sección «##(A)» divide la
##(B) cantidad de inferencias por
el total de simulaciones, de
Título=sprintf("Distribución de las frecuencias del claro en %i ésta forma se haya la
simulaciones",Número_de_veces_a_simular) probabilidad de
interferencia.
hist(Simulación,col = "blue",main=Título,xlab= "Distribución de los claros",
En la sección «##B» se realiza
ylab="Frecuencia relativa",probability = TRUE) un histograma de los claros.
##==================
install.packages('e1071', dependencies=TRUE)
library(e1071)
##============(PUNTO 4(a)) Después de instalar el paquete
##======PARÁMETROS GENERALIZADOS===== necesario para utilizar la función de
##==Sean
los parámetros de la población los momentos, se generalizan los
parámetros de la población, a saber,
Parámetro_de_forma=2
parámetros de forma y escala, la
Parámetro_de_escala=12 ##==Con
cantidad de elementos, el tamaño de
una población de: la muestra y la cantidad de veces a
Número_de_elementos_poblacionales=500 simular. ##==Sea
el tamaño de la muestra y la cantidad de simulaciones igual a
Número_de_simulaciones=1000
Tamaño_de_muestra=50

##================= ##DISTRIBUCIÓN POBLACIONAL Después de definirse la distribución


Población=rweibull(Número_de_elementos_poblacionales, Parámetro_de_forma, poblacional, se crea la función de la
Parámetro_de_escala) mediana. En esta función (que
Título2=sprintf("Histograma poblacional de la distribucion Weibull con parámetro depende del tamaño de la
muestra), se realiza la mediana de
de forma igual a %i, parámetro de escala igual a %i, y tamaño de población igual a
la distribución Weibull muestral con
%i",Parámetro_de_forma,Parámetro_de_escala,Número_de_elementos_poblacionales )
sus parámetros poblacionales. La
##hist(Población,xlab="Distribución Weibull",ylab="Frecuencia",col="blue",main=Título2) variable denominada como
##================== «Medianasmuestrales» realiza el
##DISTRIBUCIÓN MUESTRAL trabajo de calcular «n» medianas
MedianaMuestral=function(Tamaño_de_muestra) muestrales.
{ muestra=rweibull(Tamaño_de_muestra, Parámetro_de_forma,
Por último, se realiza el histograma
Parámetro_de_escala) mediana=median(muestra)
de la distribución muestral,
return(mediana)} sobreponiendo a ésta una curva de
la distribución muestral.
##===============IMPRESIONES=======

Medianasmuestrales=replicate(Número_de_simulaciones,MedianaMuestral(Tamaño_de_muestra))

Título=sprintf("Histograma de las medias muestrales de una distribución Weibull en %i simulaciones, con un


tamaño de muestra igual a %i,parámetro de forma igual a %i y parámetro de escala igual a %i ",
Número_de_simulaciones,Tamaño_de_muestra,Parámetro_de_forma,Parámetro_de_escala)

hist(Medianasmuestrales,col = "blue",main=Título, freq = FALSE,xlab= "Medias muestrales",


ylab="Frecuencia relativa")

curve(dnorm(x, mean(Medianasmuestrales), sd(Medianasmuestrales)), col = 2, lty = 2, lwd = 2, add=T)


##===============================(PUNTO 4(B))

sprintf("Primer momento de distribución muestral de la mediana de una distribución Weibull, con


parámetros igual a %i, parámetro de escala igual a %i, y tamaño de población igual a
i",Parámetro_de_forma,Parámetro_de_escala,Número_de_elementos_poblacionales)

moment(Medianasmuestrales)

sprintf("Segundo momento de distribución muestral de la mediana de una distribución Weibull, con Se realizan los
parámetros igual a %i, parámetro de escala igual a %i, y tamaño de población igual a primeros cuatro
%i",Parámetro_de_forma,Parámetro_de_escala,Número_de_elementos_poblacionales) momentos (con la
moment(Medianasmuestrales,2,T) función «moment»)
de la distribución de
sprintf("Tercer momento de distribución muestral de la mediana de una distribución Weibull, con la mediana muestral.
parámetros igual a %i, parámetro de escala igual a %i, y tamaño de población igual a
%i",Parámetro_de_forma,Parámetro_de_escala,Número_de_elementos_poblacionales)

moment(Medianasmuestrales,3,T)

sprintf("Cuarto momento de distribución muestral de la mediana de una distribución Weibull, con


parámetros igual a %i, parámetro de escala igual a %i, y tamaño de población igual a
%i",Parámetro_de_forma,Parámetro_de_escala,Número_de_elementos_poblacionales)

moment(Medianasmuestrales,4,T)

##===============================(PUNTO 4(C))

Tamaño_de_muestra=500 Se re define la variable


#================== «Tamaño_de_forma» para
ver cómo se comporta la
##DISTRIBUCIÓN MUESTRAL distribución muestral de la
mediana al aumentar el
MedianaMuestral=function(Tamaño_de_muestra){
tamaño de la muestra.
muestra=rweibull(Tamaño_de_muestra, Parámetro_de_forma,
Para al finalizar, realizar un
Parámetro_de_escala)
histograma de éste con la
mediana=median(muestra) curva normal ajustada.
return(mediana)

}##===============IMPRESIONES=======

Medianasmuestrales=replicate(Número_de_simulaciones,MedianaMuestral(Tamaño_de_muestra))

Título=sprintf("Histograma de las medias muestrales de una distribución Weibull en %i simulaciones, con un


tamaño de muestra igual a %i,parámetro de forma igual a %i y parámetro de escala igual a %i ",
Número_de_simulaciones,Tamaño_de_muestra,Parámetro_de_forma,Parámetro_de_escala)

hist(Medianasmuestrales,col = "blue",main=Título, freq = FALSE,xlab= "Medias muestrales",


ylab="Frecuencia relativa")

curve(dnorm(x, mean(Medianasmuestrales), sd(Medianasmuestrales)), col = 2, lty = 2, lwd = 2, add=T)

También podría gustarte