如何解决高斯分布到数据集的误差计算?
我从一个很大的Excel工作表中导入了一个真实的数据集。
第一列代表温度,第二列代表热流,两者共930行。
现在,我绘制了数据并绘制了另一个显示高斯分布的图,其均值和标准差与真实数据集之一相对应。下一步是计算高斯分布对数据集的误差。有人可以帮助我解决这个问题吗?我认为最小二乘法可能合适,但我不知道该怎么暗示!
#################################################
'importting all python libraries'
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from astropy import modeling
from scipy import optimize
#################################################
"Importing and reading excel file"
df = pd.read_excel('29092020 INDIUM H10C C10C.xlsx',sheet_name='Sheet1',usecols=[0,1],names=['Temperature','Heat flow'])
values= df[['Temperature','Heat flow']]
'Plotting the excel data'
X = df['Temperature']
Y = df['Heat flow']
plt.plot(X,Y)
plt.xlabel('Temperature')
plt.ylabel('Heat flow')
plt.title('Indium calibration')
plt.show()
'plotting the gaussian distribution'
m = modeling.models.Gaussian1D(amplitude=10,mean=125,stddev=2)
x = np.linspace(25,180,2000)
data = m(x)
def gaussian(x,amplitude,mean,stddev):
return amplitude * np.exp(-((x - mean) / 4 / stddev)**2)
popt,_ = optimize.curve_fit(gaussian,x,data)
plt.ylabel('Heat transfer')
plt.xlabel('Temperature')
plt.title('random gaussian curve')
plt.plot(x,gaussian(x,4,157.793,0.309))
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。