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 相关文章推荐
使用 Python 获取 Linux 系统信息的代码
Jul 13 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
在Python中使用SQLite的简单教程
Apr 29 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
目前最全的python的就业方向
Jun 05 Python
浅谈python新式类和旧式类区别
Apr 26 Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
区分python中的进程与线程
Aug 13 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
PHP扩展开发入门教程
2015/02/26 PHP
提高php编程效率技巧
2015/08/13 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
js 触发select onchange事件代码
2014/03/20 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
Python yield使用方法示例
2013/12/04 Python
python转换摩斯密码示例
2014/02/16 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
Python入门之后再看点什么好?
2018/03/05 Python
Python对List中的元素排序的方法
2018/04/01 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
Python input函数使用实例解析
2019/11/22 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
音乐专业自荐信
2014/02/07 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
五一手机促销方案
2014/03/08 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
经济国贸专业求职信
2014/06/18 职场文书
大学英语专业求职信
2014/06/21 职场文书
运动会广播稿100字
2014/09/14 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
团组织关系介绍信
2019/06/24 职场文书