29 lines
682 B
Python
29 lines
682 B
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
# 数据
|
|
x = np.array([3.59, 2.2, 1.53, 1.07, 0.7])
|
|
y = np.array([-0.0011, -0.0011, -0.0010, -0.0010, -0.0015])
|
|
|
|
# 拟合多项式
|
|
coefficients = np.polyfit(x, y, 2) # 二次多项式拟合
|
|
polynomial = np.poly1d(coefficients)
|
|
|
|
# 生成拟合曲线的x值
|
|
x_fit = np.linspace(min(x), max(x), 100)
|
|
y_fit = polynomial(x_fit)
|
|
|
|
# 绘制数据点和拟合曲线
|
|
plt.scatter(x, y, color='red', label='数据点')
|
|
plt.plot(x_fit, y_fit, label='拟合曲线')
|
|
|
|
# 添加标题和标签
|
|
plt.title('数据拟合')
|
|
plt.xlabel('X')
|
|
plt.ylabel('Y')
|
|
plt.legend()
|
|
|
|
# 保存图片
|
|
plt.savefig('pitch.png')
|
|
#打印拟合多项式
|
|
print(polynomial) |