抛物线适合数据

时间:2017-03-04 04:46:17

标签: python least-squares

我想使用最小二乘法找到符合以下数据的抛物线方程。下面的代码工作显然是错误的等式。我使用错误的功能来做这件事吗?我的数组是(x,y)格式。

import numpy as np

points = np.array ([(0.05, 0.957), (0.12, 0.851), (0.15, 0.832), (0.30, 0.720),
(0.45, 0.583), (0.70, 0.378), (0.84, 0.295), (1.05, 0.156)])

x = points[:,0]
y = points[:,1]

a = np.polyfit(x, y, 2)
b = np.poly1d(a)
print(a)
print (b)

import matplotlib.pyplot as plt
plt.plot(x,y)
plt.plot(b)
plt.show()

1 个答案:

答案 0 :(得分:1)

您使用了正确的功能进行拟合,但绘图功能错误。你忘了评估抛物线了。请尝试使用plt.plot(x,b(x))代替plt.plot(b)