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 subprocess模块学习总结
Mar 13 Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 Python
Python多进程写入同一文件的方法
Jan 14 Python
Python实现直播推流效果
Nov 26 Python
Python 求数组局部最大值的实例
Nov 26 Python
Keras 使用 Lambda层详解
Jun 10 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
python导入库的具体方法
Jun 18 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python中HTMLParser模块知识点总结
Jan 25 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
Django框架中表单的用法
Jun 10 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编程语言开发动态WAP页面
2006/10/09 PHP
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
用js实现小球的自由移动代码
2013/04/22 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
python判断windows系统是32位还是64位的方法
2015/05/11 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python匿名函数及应用示例
2019/04/09 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
学生实习自我鉴定
2013/10/11 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
2014司机年终工作总结
2014/12/05 职场文书
周年庆典答谢词
2015/01/20 职场文书
自考生自我评价
2019/06/21 职场文书