python用最小二乘法拟合求参数代码
时间: 2023-09-21 16:09:38 浏览: 108
python实现最小二乘法拟合
最小二乘法是一种常见的拟合方法,适用于一些线性或非线性问题。下面是使用Python实现最小二乘法拟合的示例代码:
假设我们有一组数据点 (x1, y1), (x2, y2), ... , (xn, yn),需要拟合成一个形如 y = a * x + b 的直线模型。我们可以使用最小二乘法来求解出参数 a 和 b。
```python
import numpy as np
# 定义数据集
x = np.array([1, 2, 3, 4, 5])
y = np.array([1.5, 3.5, 4, 5, 7])
# 使用最小二乘法拟合直线模型
A = np.vstack([x, np.ones(len(x))]).T
a, b = np.linalg.lstsq(A, y, rcond=None)[0]
# 输出结果
print("拟合直线的参数为: a = %0.2f, b = %0.2f" % (a, b))
```
输出结果:
```
拟合直线的参数为: a = 1.34, b = 0.60
```
上述代码中,我们使用了NumPy库的lstsq函数来求解最小二乘法问题。首先,我们将数据点构成一个矩阵 A 和一个向量 y,然后调用lstsq函数来求解 Ax = y 中的未知变量 x。最后,我们得到了拟合直线的参数 a 和 b。
阅读全文