Numpy一维线性插值函数的用法


Posted in Python onApril 22, 2020

直接列出函数:

numpy.interp(x, xp, fp, left=None, right=None, period=None)

x - 表示将要计算的插值点x坐标

xp - 表示已有的xp数组

fp - 表示对应于已有的xp数组的值

left - 表示当x值在xp中最小值左边时,x对应y的值为left

right - 表示当x值在xp中最大值右边时,x对应y的值为right

(left和right表示x在xp的域外时,y的取值)

example:

1.

import numpy as np

xp = [1, 2, 3]
fp = [3, 2, 0]

print(np.interp(2.5, xp, fp))

output:1.0

2.

import numpy as np

xp = [1, 2, 3]
fp = [3, 2, 0]

x = [0, 1, 1.5, 2.72, 3.14]

print(np.interp(x, xp, fp))

output:[3. 3. 2.5 0.56 0. ]

3.

import numpy as np

xp = [1, 2, 3]
fp = [3, 2, 0]

x = [0, 1, 1.5, 2.72, 3.14]

print(np.interp(x, xp, fp, -99, 99))

output:[-99. 3. 2.5 0.56 99. ]

补充知识:numpy 的一维插值函数interp

numpy.interp(x, xp, fp, left=None, right=None, period=None)

返回离散数据的一维分段线性插值结果,浮点数或复数(对应于fp值)或ndarray. 插入数据的纵坐标,和x形状相同。

x: 数组,待插入数据的横坐标.

xp: 一维浮点数序列,原始数据点的横坐标,如果period参数没有指定那么就必须是递增的。否则,在使用xp = xp % period正则化之后,xp在内部进行排序.

fp: 一维浮点数或复数序列原始数据点的纵坐标,和xp序列等长.

left: 可选参数,类型为浮点数或复数(对应于fp值),当x < xp[0]时的插值返回值,默认为fp[0].

right: 可选参数,类型为浮点数或复数(对应于fp值),当x > xp[-1]时的插值返回值,默认为fp[-1].

period: None或者浮点数,可选参数. 横坐标的周期. 此参数使得可以正确插入angular x-coordinates. 如果该参数被设定,那么忽略left参数和right参数。

插入横坐标在原函数横坐标范围内

x = 2.5     # 要插入值的横坐标
xp = [1, 2, 3]   # 要插入序列的横坐标
fp = [3, 2, 0]   # 要插入序列的纵坐标
y = np.interp(x, xp, fp) # 返回插入值的纵坐标 1.0
plt.plot(xp, fp, '-o')
plt.plot(x, y, 'x')
plt.show()

插入横坐标在原函数横坐标外(默认)

x = [0, 1, 1.5, 2.72, 3.14] # 左侧外部默认为原函数最左侧函数值,右侧默认为右侧
xp = [1, 2, 3]
fp = [3, 2, 0]
y = np.interp(x, xp, fp) # array([ 3. ,3. ,2.5 ,0.56, 0. ])
plt.plot(xp, fp, '-o')
plt.plot(x, y, 'x')
plt.show()

插入横坐标在原函数横坐标外(指定)

x = 3.14
xp = [1, 2, 3]
fp = [3, 2, 0]
UNDEF = -99.0
y = np.interp(x, xp, fp, right=UNDEF) # -99.0
plt.plot(xp, fp, '-o')
plt.plot(x, y, 'x')
plt.show()

正弦插值

x = np.linspace(0, 2 * np.pi, 10) # 在0到2pi的范围内均匀取10个点
y = np.sin(x)      # sin函数x横坐标对应的y值
xvals = np.linspace(0, 2 * np.pi, 50) # 均匀取50个
yinterp = np.interp(xvals, x, y) # 在映射关系为y的x中插入xvals
plt.plot(x, y, 'o')
plt.plot(xvals, yinterp, '-x')
plt.show()

以上这篇Numpy一维线性插值函数的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python爬虫之百度API调用方法
Jun 11 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
Python Gitlab Api 使用方法
Aug 28 Python
详解Python3定时器任务代码
Sep 23 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
使用python实现画AR模型时序图
Nov 20 Python
Python:slice与indices的用法
Nov 25 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 #Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 #Python
Jupyter Notebook折叠输出的内容实例
Apr 22 #Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 #Python
django使用JWT保存用户登录信息
Apr 22 #Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 #Python
Django如何使用jwt获取用户信息
Apr 21 #Python
You might like
php中json_encode中文编码问题分析
2011/09/13 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python使用Matlab命令过程解析
2020/06/04 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
2013年保送生自荐信格式
2013/11/20 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
金融管理应届生求职信
2014/02/20 职场文书
市场营销战略计划书
2014/05/06 职场文书
二手房购房协议书范本
2014/10/05 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
工程款申请报告
2015/05/15 职场文书
闪闪的红星观后感
2015/06/08 职场文书
惊天动地观后感
2015/06/10 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
Python的这些库,你知道多少?
2021/06/09 Python