ProgramasSPFNoel
Páginas: 6 (1431 palabras)
Publicado: 30 de septiembre de 2015
PROGRAMA 24/AGO/15
Pi
Descripción: Este programa permite calcular el valor de pi a través de la función de h, que es igual a la raíz cuadrada de la suma de las dos x al cuadrado, ya que es el centro de un círculo. Se parte de la fórmula de x1^2 + x2^2 = 1.
x<-0
n<-1000000 #Declarando n
for(m in 1:n) #Inicio de Ciclo for
{
x1<-runif(1,0,1) #Distribución uniforme para x1x2<-runif(1,0,1) #Distribución uniforme para x2
h<-sqrt((x1^2)+(x2^2)) #Centro del círculo como raíz cuadrada de la suma de las dos x cuadradas
if(h<1) #Condición
{
x<-x+1; #Incremento de 1
}
}
Pi<-(4*x)/n #Cálculo de valor de pi
Resultados:
PROGRAMA 31/AGO/15
Descripción: Este programa realiza la acumulación de precios de un activo en periodos, por medio de incrementos a través deuna función y probabilidades.
Función:
incrementos <- function(p1,p2,x1,x2,x3) #Función
{
ur<-runif(1,0,1); #Distribuciónuniforme
if(ur<= p1) #Condición
{
inc <- x1;
}
else if (ur <= p1 + p2)
{
inc<- x2;
}
else
{
inc<-x3;
}
inc
}
Programa:
Precios<-numeric(); #Declarando vector Precio<-40; #Declarando valor de precio n<-6 #Declarando nfor(cont in 1:n) #inicio de ciclo
{
incre<-incrementos(0.2,0.5,-1,0,2) #Diferentes aumentos Precios[cont]<-Precio+incre; #Se va acumulando la distribución Precio<-Precios[cont] #Vector
}
plot(Precios) #Gráfica de precios
PROGRAMA 2/SEP/15
Descripción: Este programa desarrolla a través de una función generada, distintas distribuciones para queocurra un evento, donde a cada tiempo distinto le corresponde un valor aleatorio. Son 4 tiempos y por lo tanto 4 valores.
Función:Eventos
{
if(ur<= p1)
{inc <- x1}else if (ur <= p1 + p2)
{ inc<- x2}else if (ur<=p1+p2+p3)
{inc<-x3}else if (ur<=p1+p2+p3+p4)
{inc<-x4}else if (ur<=p1+p2+p3+p4+p5)
{inc<-x5}else if (ur<=p1+p2+p3+p4+p5+p6){inc<-x6}else if (ur<=p1+p2+p3+p4+p5+p6+p7)
{inc<-x7}else if (ur<=p1+p2+p3+p4+p5+p6+p7+p8)
{inc<-x8}else
{inc<-x9}
Inc
}
Tiempos y Valores:
#Distintas distribuciones para que ocurra un evento, se renombró a la función y
# a cada tiempo distinto le corresponde un valor aleatorio. ur<-runif(1,0,1);
t1<-ur; valor<- Eventos(ur,0.02,0.08,0.12,0.25,0.20,0.15,0.10,0.05,20,25,30,35,40,45,50,55,60)ur<-runif(1,0,1);
t2<-ur; valor1<- Eventos(ur,0.05,0.10,0.20,0.25,0.12,0.10,0.08,0.06,20,25,30,35,40,45,50,55,60)
ur<-runif(1,0,1);
t3<-ur; valor2<- Eventos(ur,0.05,0.15,0.20,0.20,0.15,0.12,0.08,0.04,15,20,25,30,35,40,45,50,55)
ur<-runif(1,0,1);
t4<-ur; valor3<- Eventos(ur,0.10,0.18,0.22,0.18,0.10,0.08,0.06,0.05,10,15,20,25,30,35,40,25)
Resultados:
PROGRAMA9/SEP/15
PROBABILIDAD EXPONECIAL
Descripción: Este programa permite encontrar la probabilidad por medio de una función exponencial, que necesita a la distribución uniforme que si cumple con la condición, se va incrementando
lambda<-0.1; #Declarando valor de lambda
May<-0;
n<-1 #Declarando el valor de n for (cont in n: 1000000) #Inicio ciclo for
{
x<-runif(1,0,1);#Distribución Uniforme
y<-(-1/lambda)*log(1-x); #Función exponencial
if (y>=60) #Condición
{
May<-May + 1; #Contador e incremento
}
}
Prob<-(May/cont) #Calculando la probabilidad exponencial
Resultados:
PROGRAMA 14/SEP/15
Descripción: Este programa permite encontrar un área que inicialmente inicia creciente y a partir de un valor de x es constante. A través de las funciones de probabilidad yrestricciones fue que se encontraron las dos funciones que permiten encontrar el área, con distribución uniforme.
n<-100000
Y<-numeric(n)
p<-1
for (i in p:100000)
{
x<-runif(1,0,1);
if (x<=(1/4))
{
Y[i]=2*(sqrt(x))
}
else
{
Y[i]=2*x+(1/2)
}
}
hist(Y) #Histograma
Histograma:
PROGRAMA 20/SEP/15
Descripción: Este programa permite analizar una distribución uniforme que a...
Leer documento completo
Regístrate para leer el documento completo.