(高考标准分)数据拟合==>多项式方程==>excel公式算成绩(标准分)

wodeccu 2020-05-27

import numpy as np
import matplotlib.pyplot as plt


#原始分(老师改卷出的分数)
x=[95,
94,
94,
93]

#标准分(按照山东高考ABCDEF档位赋分,应该是正态分布)
y=[100,
94,
94,
0]

#转换成数组
x=np.array(x)
y=np.array(y)

#拟合9阶多项式
f2=np.polyfit(x,y,9)
#f2为多项式系数的数组

for x,y in zip(f2[::-1],range(len(f2))):
#倒序参数+x的指数
#输出多项式,供手动copy如notepad++,删除最后“+”、替换x为表格列(如E2)、前加"=",批量应用表格
	print("%f*x^%d+"%(x,y), end="")

输出结果类似于如下形式:

21.091865*x^0+15.615078*x^1+-7.290223*x^2+1.555629*x^3+-0.187024*x^4+0.014190*x^5+-0.000722*x^6+0.000025*x^7+-0.000001*x^8+0.000000*x^9+-0.000000*x^10+0.000000*x^11+-0.000000*x^12+0.000000*x^13+"