python拟合曲线的方法
时间: 2023-11-08 22:56:13 浏览: 96
使用python进行线性拟合和曲线拟合.zip
Python中有三种常用的拟合曲线方法,包括简单线性回归、多项式回归和非线性回归。简单线性回归适用于拟合线性关系的数据,多项式回归适用于拟合更加复杂的数据,而非线性回归适用于拟合非线性数据。
以下是使用这三种方法进行拟合的示例代码:
1. 简单线性回归:
```
import numpy as np
from scipy.stats import linregress
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
slope, intercept, r_value, p_value, std_err = linregress(x, y)
plt.scatter(x, y)
plt.plot(x, slope * x + intercept, color='red')
plt.show()
```
2. 多项式回归:
```
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
coefficients = np.polyfit(x, y, degree)
p = np.poly1d(coefficients)
plt.scatter(x, y)
plt.plot(x, p(x), color='red')
plt.show()
```
3. 非线性回归:
```
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
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
popt, pcov = curve_fit(func, x, y)
plt.scatter(x, y)
plt.plot(x, func(x, *popt), color='red')
plt.show()
```
阅读全文