最小二乘法曲线拟合代码
时间: 2023-11-17 21:08:02 浏览: 95
可以使用Python中的NumPy库来实现最小二乘法曲线拟合代码。下面是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 输入坐标数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.3, 3.5, 4.2, 5.0, 6.2])
# 使用polyfit拟合曲线
z = np.polyfit(x, y, 2) # 二次方程拟合
z1 = np.polyfit(x, y, 3) # 三次方程拟合
# 输出方程
print("二次方程系数为:", z)
print("三次方程系数为:", z1)
# 将图标画出来
p = np.poly1d(z) # 生成二次方程对象
p1 = np.poly1d(z1) # 生成三次方程对象
xp = np.linspace(1, 5, 100) # 生成100个点,用于绘制曲线
plt.scatter(x, y) # 绘制散点图
plt.plot(xp, p(xp), 'r-', label='quadratic') # 绘制二次方程曲线
plt.plot(xp, p1(xp), 'g-', label='cubic') # 绘制三次方程曲线
plt.legend() # 显示图例
plt.show() # 显示图像
```
上述代码中,首先输入了坐标数据x和y,然后使用`np.polyfit()`函数拟合了二次方程和三次方程,并输出了方程的系数。接着使用`np.poly1d()`函数生成了二次方程和三次方程的对象,用于绘制曲线。最后使用Matplotlib库绘制了散点图和拟合曲线,并显示了图例和图像。
阅读全文