私は3D空間を持っています。そして、たとえばN
、この空間の点(x1,y1,z1)
、(x2,y2,z2)
...、を知っています(xn,yn,zn)
。ポイントを補間したいのですが、それはこれとは異なります。Matlabでこれを行うにはどうすればよいですか?
2 に答える
interp3
あなたを助けるかもしれません。これがドキュメントです。
いつものように、1 行のクエリでは答えられない質問があります。
z(x,y)
データが, (またはy(x,z)
)という関数関係がある形式である場合x(y,z)
、補間ツールの 1 つを使用できる可能性があります。(x,y)
したがって、平面内の格子上にあるデータがあるとします。したがって、z
その格子の各点で の値があります。この場合、使用できますinterp2
。
または、データが分散しているがz(x,y)
、あなたが持っていない単一の値の関数関係があるが、それは何らかの連続関数である場合。ここでも、無限の一次導関数が問題になります。この場合、少なくとも(x,y)
平面の一部の凸領域を満たすデータがあると仮定すると、 の値を内挿することができますz
。これには、griddata または TriScatteredInterp を使用します。または、ファイル交換で見つけた独自のgridfitツールを使用することもできます。
次に、あなたがデータを説明する方法についてですが、私はあなたが上記の形式のいずれかで何かを持っているとはまったく確信していません. たとえば、データがこの 3D ドメインの曲線パスに沿ってあり、その曲線円弧に沿ってポイントを補間したい場合は、ファイル交換にもある私のinterparcツールを使用して行うことができます。
このような空間セットの補間について話すときによくある最後のケースは、一般的なサーフェスであり、きれいに補間された滑らかなサーフェスを構築したいというものです。それは球の表面のように単純なものかもしれませんし、もっと複雑なものかもしれません。(これらのことは決して単純ではありません。) このため、閉じた凸面である場合、凸包を使用して何かを近似できる場合があります。より複雑なサーフェスには、CRUST のようなツールが必要になる場合がありますが、提供できる実装はありません。それが必要な場合は、Googleがお手伝いします。
このすべてのポイントは、データをどのように補間するかは、データの形式、データが表すもの、および補間する関係の形状によって異なるということです。