Scipy.Interpolate获取产生特定y值的x值2个数字列表

编程入门 行业动态 更新时间:2024-10-08 08:28:35
本文介绍了Scipy.Interpolate获取产生特定y值的x值2个数字列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有两个数据列表,一个是

x = [13.7,12.59,11.22,10.00,8.91,7.94,7.08,6.31,5.62,5.01,4.47,3.98,3.55,3.16,2.82,2.51,2.24,2.00, 1.78,1.59,1.41,1.26,1.12,1.00,0.89,0.79,0.71,0.63,0.56,0.50,0.40,0.32,0.25,0.20,0.16,0.13, 0.1,0.08,0.06,0.05,0.04,0.03,0.025,0.02,0.016,0.013,0.01,0.008,0.006,0.005,0.004]

一个是

y = [0.19 0.34 0.5 0.5 0.53 0.92 0.92 0.92 0.92 0.92 0.93 0.95 0.96 0.96 0.99 0.99 0.99 0.99 0.99 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0]

当y=0.5,y=0.6,y=0.7

时,我需要获取x值

我有52对这种杂乱的数据,我需要按给定的y获取x值,但y=0.5等不在y列表中。

我尝试为每对数据生成一些函数,然后尝试查找x值,但我不知道如何查找。

你能帮帮我吗?

推荐答案

interp1d函数是完成此操作的好方法,但您必须进行一些更改。假设我们有您的帖子中定义的x和y(注意,我在列表y中添加了逗号和值1.0,以使它们的长度相同)。

x = [13.7, 12.59, 11.22, 10.0, 8.91, 7.94, 7.08, 6.31, 5.62, 5.01, 4.47, 3.98, 3.55, 3.16, 2.82, 2.51, 2.24, 2.0, 1.78, 1.59, 1.41, 1.26, 1.12, 1.0, 0.89, 0.79, 0.71, 0.63, 0.56, 0.5, 0.4, 0.32, 0.25, 0.2, 0.16, 0.13, 0.1, 0.08, 0.06, 0.05, 0.04, 0.03, 0.025, 0.02, 0.016, 0.013, 0.01, 0.008, 0.006, 0.005, 0.004] y = [0.19, 0.34, 0.5, 0.5, 0.53, 0.92, 0.92, 0.92, 0.92, 0.92, 0.93, 0.95, 0.96, 0.96, 0.99, 0.99, 0.99, 0.99, 0.99, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] 需要注意的第一件事是,scipy.interp1d中的第一个参数必须是单调递增的。这意味着您可以这样做

from scipy.interpolate import interp1d f = interp1d( y, x )

x.reverse() y.reverse() f = interp1d( x, y )

在第一种情况下,

>>> f(0.5), f(0.6), f(0.7) (array(11.22), array(8.735897435897437), array(8.487179487179487))

在第二个中,我们得到

>>> f(0.5), f(0.6), f(0.7) (array(1.0), array(1.0), array(1.0))

更多推荐

Scipy.Interpolate获取产生特定y值的x值2个数字列表

本文发布于:2023-11-30 15:36:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1650531.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数字   列表   Scipy   Interpolate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!