python函数拟合不规则曲线_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:')

进行线性拟合,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--')

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

In [7]:

f = poly1d(coeff)

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

p = plt.plot(x, f(x))

In [8]:

f

Out[8]:

poly1d([ 3.93921315, 1.59379469])

显示 f:

In [9]:

print f

3.939 x + 1.594

还可以对它进行数学操作生成新的多项式:

In [10]:

print f + 2 * f ** 2

2

31.03 x + 29.05 x + 6.674

多项式拟合正弦函数

正弦函数ÿ

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值