怎么使用SciPy库进行数据拟合

842
2024/5/29 11:35:12
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要使用SciPy库进行数据拟合,首先需要导入必要的模块:

import numpy as np
from scipy.optimize import curve_fit

然后,准备你的数据。假设你有两个数组,分别是x和y,表示自变量和因变量:

x = np.array([1, 2, 3, 4, 5])
y = np.array([2.1, 3.9, 6.1, 8.2, 10.2])

接下来,定义一个拟合函数。这个函数需要接受输入的自变量x和一些参数,并返回预测的因变量值。例如,假设你想用二次函数拟合数据:

def quadratic_func(x, a, b, c):
    return a*x**2 + b*x + c

接下来,使用curve_fit函数进行拟合。这个函数需要传入拟合函数、自变量x、因变量y和初始参数估计值。它会返回一个包含最优参数和协方差的元组:

popt, pcov = curve_fit(quadratic_func, x, y, p0=[1, 1, 1])

最后,可以用得到的最优参数来预测新的数据点或绘制拟合曲线:

import matplotlib.pyplot as plt

plt.scatter(x, y)
plt.plot(x, quadratic_func(x, *popt), color='red')
plt.show()

这样你就完成了对数据的拟合。根据你的数据和拟合函数的复杂度,你可能需要尝试不同的拟合函数和初始参数估计值来得到最好的拟合结果。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎么利用SciPy进行统计质量控制和工业工程分析