Foros del Web » Programando para Internet » Python »

integral de montecarlo

Estas en el tema de integral de montecarlo en el foro de Python en Foros del Web. me piden que escriba un programa utilizando el metodo de montecarlo para calcular el area de la funcion x^2 del punto 0 a 1. pienso ...
  #1 (permalink)  
Antiguo 14/02/2011, 07:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
integral de montecarlo

me piden que escriba un programa utilizando el metodo de montecarlo para calcular el area de la funcion x^2 del punto 0 a 1.

pienso que tengo que utilizar el modulo random...

¿me podrias dar un esquema de las cosas que tengo que hacer para crear mi funcion?

gracias.
  #2 (permalink)  
Antiguo 14/02/2011, 09:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: integral de montecarlo

Si
Código:
#Integral de x ** 2 de 0 a 1 = 1 / 3
print 1 / 3
Enserio empieza a hacer tu tarea y cuando tengas alguna duda regresa.
Aquí te dejo algunos links, 1, 2
  #3 (permalink)  
Antiguo 14/02/2011, 14:10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
Respuesta: integral de montecarlo

la teoria ya lo se pero es que no he trabajado mucho con el modulo random...solo os pido los pasos, no que me hagais la funcion.

gracias

he empezado con esto:

Código Python:
Ver original
  1. def f1(x,y):
  2.     y=x**3/3
  3.     for x in range (0,1):

Última edición por sanfermin67; 14/02/2011 a las 14:35
  #4 (permalink)  
Antiguo 14/02/2011, 14:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: integral de montecarlo

En ese caso, si solo quieres como generar un numero aleatorio o tomar una muestra aleatoria solo has lo siguiente:
Numero aleatorio:
Código Python:
Ver original
  1. import random
  2. print random.randint(1, 10) #Devuelve un numero aleatorio entre 1 y 10
  3. print range(1, 10) #Esto es una lista de 0 a 9
  4. print random.sample(range(1, 10), 5) #Seleciona una muestra aleatoria de tamanio 5
  #5 (permalink)  
Antiguo 15/02/2011, 05:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
Respuesta: integral de montecarlo

bien ahora mi pregunta es:

Código Python:
Ver original
  1. def f1(x,y):
  2.     y=x**3/3
  3.     for x in random.sample.(range(0,2,0.1)):
  4.         for k in range(0,2,0.1):
  5.             if y>k:
  6.                 print('esta fuera del area')
  7.             elif y=<k:
  8.                 print('esta dentro del area')
  9.     return y

¿¿¿en que fallo???
  #6 (permalink)  
Antiguo 15/02/2011, 08:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: integral de montecarlo

range no acepta parámetros flotantes.
  #7 (permalink)  
Antiguo 15/02/2011, 09:16
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: integral de montecarlo

Pero siempre puedes usar trucos:
Código Python:
Ver original
  1. for i in range(0, 20):
  2.     print i * 0.1
  #8 (permalink)  
Antiguo 21/02/2011, 12:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
Respuesta: integral de montecarlo

ok ya esta solucionado.Gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:27.