In [50]:
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import quad
In [51]:
def phif(T):
return np.exp(-(T-20.)**2/50.)
In [52]:
T = np.linspace(-20,50,1000)
phi = phif(T)
plt.plot(T,phi)
plt.xlabel('Temperature (C)')
plt.ylabel('Relative probability (1/C)')
Out[52]:
Bell shaped curve!
In [53]:
N,err = quad(phif,-20,50)
def phif_norm(T):
return phif(T)/N
plt.plot(T,phif_norm(T))
plt.xlabel('Temperature (C)')
plt.ylabel('Relative probability (1/C)')
Out[53]:
Most probable value of $T$????
In [54]:
def Tphif(T):
return T*phif_norm(T)
Tbar,err = quad(Tphif,-20,50)
print("Expectation value of T = {:4.1f} deg C".format(Tbar))
plt.plot(T,phif_norm(T))
plt.xlabel('Temperature (C)')
plt.ylabel('Relative probability (1/C)')
plt.plot([Tbar,Tbar],[0,0.09],ls='-')
Out[54]:
In [55]:
def T2phif(T):
return T*T*phif_norm(T)
T2bar,err = quad(T2phif,-20,50)
print("Expectation value of T**2 = {:4.1f} deg C**2".format(T2bar))
Trms=np.sqrt(T2bar)
print("Room mean square T ={:4.1f} deg C".format(Trms))
variance = T2bar-Tbar*Tbar
print("Variance ={:4.1f} deg C**2".format(variance))
stddev = np.sqrt(variance)
print("Standard deviation ={:4.1f} deg C".format(stddev))
In [56]:
prob,err = quad(phif_norm,Tbar-stddev,Tbar+stddev)
print("Probability = {:4.3f}".format(prob))
Unitless!!!
In [ ]: