array([[ 3.81451668e-04, 9.42870109e-09, 5.48247926e-06],
[ 9.42870109e-09, 1.17596815e-12, 9.28431073e-09],
[ 5.48247926e-06, 9.28431073e-09, 1.05408165e-04]])
The heating data has a break in the middle which I am not sure how to deal with, so I just took the data before the break. The program is similar to the cooling one. (used p0=(-1,1e-6,1) instead)
popt:
array([ -8.35340372e+00, 2.01869270e-04, 2.83287046e+01])
pcov:
array([[ 9.83759992e-04, 5.09067460e-08, -1.10929039e-03],
[ 5.09067460e-08, 3.47323122e-12, -6.77130920e-08],
[ -1.10929039e-03, -6.77130920e-08, 1.38998816e-03]])