Advertisement
frolkin28

monte_carlo

Apr 8th, 2020
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.50 KB | None | 0 0
  1. import numpy as np
  2. from math import cos, pi
  3.  
  4.  
  5. def MonteCarlo_method(f, g, x0, x1, y0, y1, n):
  6.     x = np.random.uniform(x0, x1, n)
  7.     y = np.random.uniform(y0, y1, n)
  8.     f_avg = 0
  9.     amount_inside = 0
  10.     for i in range(len(x)):
  11.         for j in range(len(y)):
  12.             if g(x[i], y[j]):
  13.                 amount_inside += 1
  14.                 f_avg += f(x[i], y[j])
  15.  
  16.     f_avg = f_avg / float(amount_inside)
  17.     area = amount_inside / float(n**2) * (x1 - x0) * (y1 - y0)
  18.     return area * f_avg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement