Source code for copul.basictools

import numpy as np


[docs] def monte_carlo_integral(func, n_samples=10_000, x=1, y=1, vectorized=False): samples_x = np.random.rand(n_samples) * x samples_y = np.random.rand(n_samples) * y if vectorized: values = func(samples_x, samples_y) else: values = np.array([func(xi, yi) for xi, yi in zip(samples_x, samples_y)]) return np.mean(values) * x * y