uncertainties¶
see: https://uncertainties-python-package.readthedocs.io/en/latest/
[ ]:
from uncertainties import ufloat
import uncertainties.umath as umath
import uncertainties.unumpy as unp
import numpy as np
from smpl import io
Single number¶
[ ]:
x = ufloat(1,0.1)
print(x)
[ ]:
print(x*x)
This is error propagation of the function \(f(x)=x^2\) yielding \(\Delta f = \frac{\partial f(x)}{\partial x} \Delta x=2\Delta x\)
[ ]:
y = ufloat(1,0.2)
print(x*y)
Here \(f(x,y)=x*y\) gives \(\Delta f = \sqrt{(\frac{\partial f(x)}{\partial x} \Delta x)^2 +(\frac{\partial f(y)}{\partial y} \Delta y)^2}\)
[ ]:
umath.sin(2*y)
Arrays¶
[ ]:
data = np.loadtxt(io.find_file('test_linear_data.txt',3))
xdata = data[:,0]
xerr = data[:,2]
ydata = data[:,1]
yerr = data[:,3]
x = unp.uarray(xdata,xerr)
y = unp.uarray(ydata,yerr)
[ ]:
print(x)
print(y)
[ ]:
print(x*y)
Error propagation for each number in the array.
[ ]:
print(unp.sin(x)*y)
[ ]:
[ ]:
[ ]: