例如,我有以下数组:
另一方面,当给定
x = [0, 1, 2, 3, 4.5, 5]
y = [2, 8, 3, 7, 8, 1]
如果给定x
,我希望能够执行以下操作:
>>> what_is_y_when_x_is(2)
(2, 3)
>>> what_is_y_when_x_is(3.1) # Perhaps set rules to round to nearest (or up or down)
(3, 7)
另一方面,当给定
y
时:>>> what_is_x_when_y_is(2)
(0, 2)
>>> what_is_x_when_y_is(max(y))
([1, 4.5], 8)
问题的情况
我本可以通过使用一个封闭的解析函数绘制 y
与 x
的图形,只需调用 foo_function(x)
即可轻松实现。但是,我正在运行数值模拟,其数据绘图没有封闭解析解。
尝试的解决方案
我之前处理过类似的问题,并大致采用了以下方法:
当 x 是某个值时,y 是什么?
- 在数组
x
中搜索some_x
。 - 获得它的索引
i
。 - 取出
y[i]
。
问题
有更好的方法吗?或者有内置的 numpy
函数或更好的算法可以使用吗?