1. 程式人生 > 其它 >最小二乘法擬合曲線

最小二乘法擬合曲線

import numpy as np
import matplotlib.pyplot as plt
import math
x=np.array([17,35,244,237,246,247,246,249,245,242,238])
y=np.array([30.2,40.3,68.6,49.6,64.3,64,60.2,68,76.7,44.8,49.3])

p3 = np.poly1d(np.polyfit(np.log(x), y, 1))
print(p3)
x = np.arange(0, 255, 0.02)
y= p3(x)
yvals=p3(x) # 可直接使用yvals=np.polyval(z1,xxx)
plt.plot(x, y, "*",label="original values")
plt.plot(x, yvals, "r",label="polyfit values")
plt.xlabel("x axis")
plt.ylabel("y axis")
plt.legend(loc=4) # 指定legend在圖中的位置,類似象限的位置
plt.title("polyfitting")
plt.show()