那怎么用curve_fit返回的数组画出函数图像,请给个python实例
时间: 2024-05-02 18:19:41 浏览: 85
当使用curve_fit函数拟合数据并返回参数数组后,可以使用numpy库中的linspace函数生成一组横坐标值,然后利用参数数组计算纵坐标值,最后使用matplotlib库中的plot函数绘制函数图像。下面是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 定义要拟合的函数
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# 生成测试数据
xdata = np.linspace(0, 4, num=50)
ydata = func(xdata, 2.5, 1.3, 0.5) + 0.2 * np.random.normal(size=len(xdata))
# 使用curve_fit函数拟合数据
popt, pcov = curve_fit(func, xdata, ydata)
# 生成一组横坐标值
x = np.linspace(0, 4, num=100)
# 计算一组纵坐标值
y = func(x, *popt)
# 绘制函数图像
plt.plot(x, y)
plt.show()
```
该代码先定义了一个要拟合的函数func,并生成了一组带有噪声的测试数据。接着使用curve_fit函数拟合数据,并将拟合得到的参数数组popt作为调用func函数时的参数。最后,利用numpy库的linspace函数生成一组横坐标值,再将其代入func函数中计算出一组纵坐标值,最后使用matplotlib库的plot函数绘制出函数图像。
阅读全文