2

Python で不均一な間隔のグリッドに対してフィルタリングを実行する必要があります。したがって、griddata を使用して、不均一なグリッドを均一なグリッドに補間します。

zi = interpolate.griddata((xin, yin), zin, (xi[None,:], yi[:,None]), method='cubic')

次に、zi がフィルター処理された後、メッシュを元の xin、yin ポイントに逆補間する必要があります。私がこれを行う場合:

zout = interpolate.griddata((xi, yi), zi, (xin[None,:], yin[:,None]), method='cubic')

Delaunay三角形分割の「qhull精度警告」と「qhullエラー」に関連する、理解できないエラーがいくつか発生します。

この問題を解決する方法を知っている人はいますか? (xin、yin) が順序付けられていないという事実に関連する可能性はありますか? ありがとう。

[更新] 入力データが何であるかを明確にしようとします。入力データは、中心 (x 軸と y 軸の両方) で洗練されたデカルト メッシュです。それをフィルタリングしたい限り、均一にサンプリングされたバージョンを補間し、均一にサンプリングされたものから洗練されたものに戻るために別の補間を実行する必要があります。

xin、yin、zin は、xi と yi と同様に 1D 配列です。zi (griddata の出力) は 2D 配列です。

4

1 に答える 1

1

への 2 回目の呼び出しgriddataは正しくありません。各ポイントの座標が必要であり、それxiはpointに対応する値です。yizi[i,:](xi[i], yi[i])

どうやら、xiyi配列にはたまたま同じ数Nのエントリがあるため、すぐにエラーは発生しません。関数が実際に何か他のことをしたかったと推測できる方法はありません。

于 2013-10-18T09:46:28.887 に答える