线性拟合polyfit_Python曲线拟合详解

转一个超级详细的Python曲线拟合详解文章(怕以后找不到了),本栏目初学者不用细看,当手册查就好了。原文在这里:04.04 curve fitting,侵删。

导入基础包:

In [1]:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

多项式拟合

导入线多项式拟合工具:

In [2]:

from numpy import polyfit, poly1d

产生数据:

In [3]:

x = np.linspace(-5, 5, 100)
y = 4 * x + 1.5
noise_y = y + np.random.randn(y.shape[-1]) * 2.5

画出数据:

In [4]:

%matplotlib inline

p = plt.plot(x, noise_y, 'rx')
p = plt.plot(x, y, 'b:')

07cf546d14fd360264aa085dd38edcf0.png

进行线性拟合,polyfit 是多项式拟合函数,线性拟合即一阶多项式:

In [5]:

coeff = polyfit(x, noise_y, 1)
print coeff

[ 3.93921315  1.59379469]

一阶多项式 y=a1x+a0 拟合,返回两个系数 [a1,a0]。

画出拟合曲线:

In [6]:

p = plt.plot(x, noise_y, 'rx')
p = plt.plot(x, coeff[0] * x + coeff[1], 'k-')
p = plt.plot(x, y, 'b--')

57466fd2a56296bd74156ffe37caf0f2.png

还可以用 poly1d 生成一个以传入的 coeff 为参数的多项式函数:

In [7]:

f = poly1d(coeff)
p = plt.plot(x, noise_y, 'rx')
p = plt.plot(x, f(x))

4cf40dcf7bf58b6a8c8cc84f5f98adf5.png

In [8]:

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值