私は現在、次のような3つの1Dnumpy配列を持っています。
#X Y Z
0 1 2.9
0 3 2.1
0 5 1.753
. . .
. . .
0 99 3.82
0.1 1 4.1
0.1 3 5.3
0.1 5 2.65
. . .
. . .
0.1 99 5.21
各zは、同じインデックスの(x、y)ペアに対応します。グリッドで線形補間を実行しようとしているので、Zの値が何であるかを確認できます(57.3、33.1)。
私の問題は、X値が0.1ずつ増加してほぼ100に達し、Y値が2ずつ増加することです。interp2dまたはbisplrepで補間しようとすると、常にセグメンテーション違反が発生します。(データポイントの量が多いためだと思いますか?)
あなたが提供できるどんな助けもありがたいです。私のX座標は十分に小さい量だけ増加しているので、たとえば(50.53、y)でZ値をチェックしようとはしません。ただし、その増分でY値を確認できる必要があります。たとえば(50.1、33.6)。
(x、y)座標とそれに対応するz値の辞書を作成しました。
編集:
(x、y)ペアごとにZ値がすでにあるので、次のコードが機能しない理由がわかりません(約20秒後にセグメンテーション違反が発生します)。
f = interpolate.interp2d(X, Y, Z, kind='linear')
私はすでにXとYをこのように構造化しているので、グリッドを構築するためにnp.meshgridを使用する必要はありません。あれは正しいですか?