python 最小二乘
时间: 2023-08-27 22:19:44 浏览: 88
python最小二乘法代码
在Python中,可以使用`numpy`和`scipy`库来进行最小二乘法拟合。下面是一个简单的示例代码:
```python
import numpy as np
from scipy.optimize import leastsq
# 定义目标函数
def func(x, p):
a, b, c = p
return a * x ** 2 + b * x + c
# 定义误差函数
def error(p, x, y):
return func(x, p) - y
# 生成随机数据
np.random.seed(0)
x = np.linspace(-5, 5, 100)
= func(x, [1, 2, 3]) + np.random.randn(len(x))
# 初始参数值
p0 = [0, 0, 0]
# 使用最小二乘法拟合数据
params, success = leastsq(error, p0, args=(x, y))
# 打印拟合参数
print("拟合参数:", params)
# 绘制拟合曲线和原始数据
import matplotlib.pyplot as plt
plt.scatter(x, y, label='Original data')
plt.plot(x, func(x, params), 'r', label='Fitted curve')
plt.legend()
plt.show()
```
在上述代码中,首先定义了目标函数 `func`,它是一个二次多项式。然后定义了误差函数 `error`,它是目标函数与实际观测值之间的差异。接下来,生成了带有噪声的
阅读全文