最近在学习python数据分析,做个笔记记录一下代码,今天是用numpy拟合了一组数据。

先贴拟合的效果出来,蓝色的点是用np生成的20个点,红线是拟合出来的曲线:

下面是代码:

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(300,400,20)
y = x + np.random.random_integers(5,20,20) #随机取5到10中间20个数
poly = np.polyfit(x,y,deg=1)
z = np.polyval(poly, x)
plt.plot(x, y, 'o')
plt.plot(x, z)plt.show()

代码可以分成三部分:

第一部分是生成数据,x是在300到400中间平分的取了20个点(包含300,400)生成一个数组;至于y是在x的每个元素上加了一个5-20之间的随机数的数组。相当于获得了20个点的坐标。第二部分是用polyfit函数,对x,y进行拟合(下面会介绍这个函数);拟合出的曲线对应的z值用polyval获得。第三部分就是绘图了。
下面详细介绍以下polyfit函数的参数以及返回值:这个函数前两个参数是x,y 也就是我们生成的两个20维的数组,代表要拟合的20个点。第三个参数1是你要拟合的多项式的最高阶阶数。比如你选择这个参数为1,即你想拟合一个有两项的多项式(最高阶为1),y=kx**1+bx**0,也就是一条直线,如果你选择参数为2(最高阶为2),就是拟合右边有三项的多项式:y=Lx**2+kx**1+bx**0,也就是一条抛物线。具体看下模块中的函数说明。

def polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False):"""Least squares polynomial fit.Fit a polynomial ``p(x) = p[0] * x**deg + ... + p[deg]`` of degree `deg`to points `(x, y)`. Returns a vector of coefficients `p` that minimisesthe squared error.

至于polyfit的返回值,可以打印一下上面代码中的poly看一下,是[k,b](如果你制定deg参数为2的话即返回抛物线的参数[L,k,b])。

numpy.polyfit — NumPy v1.21 Manual

【Python】np.polyfit点拟合曲线相关推荐

  1. numpy np.polyfit()(最小二乘多项式拟合曲线)(有待进一步研究)

    from numpy\lib\polynomial.py @array_function_dispatch(_polyfit_dispatcher) def polyfit(x, y, deg, rc ...

  2. python多项式拟合:np.polyfit 和 np.polyld

    python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等. 这段代码可以直接用,但是要用自己的值 #多项式拟合 y = data_jiedian_2 #输入自己 ...

  3. python求函数曲率_【Python】车道线拟合曲线的曲率半径计算公式及代码

    学习优达学城的Advanced-Lane-Lines课程时,碰到了车道线的曲率半径计算.初见公式略显陌生,直到想起曲率半径的计算公式时才想明白,故记录如下. def cal_curverature(i ...

  4. python根据坐标点拟合曲线绘图

    python根据坐标点拟合曲线绘图 任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX:1755337994 import os import numpy as np from scipy i ...

  5. python中polyfit、poly1d函数

    python中polyfit.poly1d函数 一.polyfit函数 函数原型 np.polyfit(x,y,num) 可以对一组数据进行多项式拟合 下面举个例子说明: 其中:np.polyval( ...

  6. 【Python】车道线拟合曲线的曲率半径计算公式及代码

    学习优达学城的Advanced-Lane-Lines课程时,碰到了车道线的曲率半径计算.初见公式略显陌生,直到想起曲率半径的计算公式时才想明白,故记录如下. def cal_curverature(i ...

  7. python np.mod() 取模运算

    python np.mod() 取模运算 取模运算并非算术运算中的取余运算%,看代码发现使用取余计算的结果一直都对不上,为了打破这个误区,手动计算探索其内部原因呀~ python np.mod()的取 ...

  8. np.polyfit()

    np.polyfit((left_bottom[0], apex[0]), (left_bottom[1], apex[1]), 1) #x = (left_bottom[0], apex[0]) # ...

  9. python hist直方图拟合曲线_详解用Python为直方图绘制拟合曲线的两种方法

    直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状.中心位置以及数据的离散程度等. 在python中一般采用matplotli ...

最新文章

  1. 转贴 DISCUZ7.0 恢复被删除的会员的UID
  2. dev多行注释_Python代码注释的用法和意义
  3. Zernike函数拟合曲面--MATLAB实现
  4. 逆向透视表 python_Python实现数据的透视表
  5. Rsync 参数详解
  6. HDU 1251 统计难题 (Trie)
  7. row_number() over 相同日期不同序号_怡丽丝尔护肤品生产日期怎么看?怡丽丝尔护肤品保质期多久?...
  8. 详细关闭iiop方法_安卓手机卡顿清理垃圾是没用的,教你关闭几个设置,告别手机迟钝...
  9. 工欲善其事,必先利其器——学会不将就,让自己事半功倍!
  10. 最全的Python网站开发库!整理出来了!
  11. html5 2种布局模式
  12. 2021.05.05青蛙过河
  13. 有关阿里云服务器ping不通解决办法(云服务器搭建完环境访问不了ip解决办法)
  14. 华师计算机系统课程作业答案,华师在线计算机专业操作系统期末作业
  15. 【随堂笔记】数据结构基础
  16. 数仓经典案例-各个视频平均完播率、平均播放进度
  17. matlab在管理学中的应用简述【一】
  18. MAYA中 快速Bake物体关键帧
  19. ST官网下载标准库STM32 Standard Peripheral (2022新版官网网页)
  20. DC 视频教程 第八期

热门文章

  1. 移动端音视频从零到上手
  2. Mac 修改命令行前缀显示
  3. h5 Canvas矩形的绘制
  4. 漏洞预警|Apache Karaf 存在远程代码执行漏洞
  5. 15 个 “高效实用” 的Python工具库!
  6. ssh服务器(自己的一点心得和操作总结)
  7. 全部资源,都在这里了
  8. 【Python】pathlib 模块的用法(Path)
  9. 查看oracle版本命令
  10. 如何更优雅的对接第三方API