2

私は現在、次のような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を使用する必要はありません。あれは正しいですか?

4

0 に答える 0