import numpy as np
import matplotlib.pyplot as plt
# 示例数据
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([0, 0.8, 0.9, 0.1, -0.8, -1])
# 使用 polyfit 进行多项式拟合,degree=3 表示拟合一个三次多项式
z = np.polyfit(x, y, 3)
# 生成一个多项式对象
p = np.poly1d(z)
# 打印拟合的多项式系数
print("拟合的多项式系数:", z)
# 生成更多的 x 值用于绘制平滑曲线
x_new = np.linspace(x[0], x[-1], num=len(x)*10)
y_new = p(x_new)
# 绘制原始数据点和拟合曲线
plt.plot(x, y, 'o', label='原始数据')
plt.plot(x_new, y_new, '-', label='拟合曲线')
plt.legend()
plt.show()
numpy
来处理数组和多项式拟合,使用 matplotlib
来绘制图形。x
和 y
,表示我们要拟合的数据点。np.polyfit(x, y, degree)
函数进行多项式拟合,其中 degree
是多项式的阶数。这里我们选择了三次多项式(degree=3)。np.poly1d(z)
将拟合得到的系数转换为一个多项式对象,方便后续计算。matplotlib
绘制原始数据点和拟合曲线,并添加图例。下一篇:python遍历文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站