たとえば、次の配列があります。
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)
です。ただし、データ プロットに閉じた解析解がない数値シミュレーションを実行しています。
試みられた解決策
私は以前に同様の問題に取り組み、大まかに次のようにアプローチしました。
what_is_y_when_x_is(some_x)
x
の配列を検索しsome_x
ます。- そのインデックスを取得します
i
。 - 拾う
y[i]
。
質問
これを行うより良い方法はありますか?おそらく、組み込みnumpy
関数またはより優れたアルゴリズムですか?