import numpy as np;
import matplotlib.pyplot as plt;
plt.rcParams.update({"text.usetex":True});
%config InlineBackend.figure_format = "svg"
from ipywidgets import interactive
N = 10000;
x0, sig = 0, 0.1;
s = np.random.normal(x0, sig, size=(N,));
bins =np.linspace(np.min(s), np.max(s), 100);
c, h, _ = plt.hist(s,bins , density=True)
plt.plot(bins, 1/(2*np.pi*sig**2)**0.5*np.exp(-(bins-x0)**2/(2*sig**2)));
plt.xlim([-5, 5])
(-5.0, 5.0)
N = 10000;
xmin, xmax = 0, 6;
s = np.random.uniform(xmin, xmax, size=(N,));
bins =np.linspace(np.min(s), np.max(s), 10);
c, h, _ = plt.hist(s,bins , density=True)
plt.plot(bins, np.ones(np.shape(bins))/(xmax-xmin))
plt.xlim([xmin-0.1, xmax+0.1])
(-0.1, 6.1)
N = 10000;
a,m = 2, 1;
s = (1+np.random.pareto(a,size=(N,)))*m;
c, h, _ = plt.hist(s,1000 , density=True)
x = np.linspace(m, 10);
f = a*m**a/(x**(a+1));
plt.plot(x, f, '--k')
plt.xlim([0, 10])
(0.0, 10.0)
import scipy.integrate as si
import scipy.interpolate as sio
def mypdf(a,m,x):
return a*m**a/(x**(a+1));
a, m = 2, 1
x = np.linspace(m, 6); p = mypdf(a,m,x); p = p/si.trapz(p,x); plt.plot(x,p);
c = si.cumtrapz(p, x, initial=0); plt.plot(x, c); plt.axhline(1, color='k');
N = 10000;
s = np.random.uniform(0, 1, size=(N,1));
ci = sio.interp1d(c,x); xi = ci(s);plt.plot(xi, s, 'ok');
counts,bins,_= plt.hist(xi, bins=100, density=True)