Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- def monte_carlo_integral(interval, num_samples, function):
- points = np.random.uniform(*interval, size=num_samples)
- samples = function(points)
- return np.mean(samples)*(interval[1] - interval[0])
- # number of MC samples
- num_samples = 100
- interval = (0, 1)
- function = lambda x: x**2
- # trapezoidal rule
- xs = np.linspace(*interval, 100)
- print(f"numpy.trapz: {np.trapz(function(xs), xs)}")
- # Monte Carlo integral
- print(f"Monte Carlo: {monte_carlo_integral(interval, num_samples, function)}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement