Ich habe Sätze von Mehrpunktfelddaten, jeder Punktdatensatz bezieht sich auf eine einzelne Zelle eines unstrukturierten Netzes. Ziel ist es, die Daten direkt oder indirekt auf genaueste Weise direkt in das Zellzentrum zu interpolieren.
Wenn ich die inverse entfernungsgewichtete Interpolation verwende und der Abstand zwischen der Quelle und dem Ziel (Zellenmitte) sehr klein ist, kann es zu einer Gleitkomma-Ausnahme kommen.
Für diese Art der Interpolation auf einem strukturierten Netz wird eine volumengewichtete Interpolation verwendet. Dies führt nicht direkt zu einer beliebig geformten Netzzelle.
Die Einführung einer Toleranz für eine IDW-Interpolation zur Umgehung des SIGFPE ist nur dann sinnvoll, wenn ich keine Tests einführe, die die Interpolation ineffizient machen könnten. Ist das Hinzufügen eines ausreichend kleinen zum Nenner für jedes Gewicht eine mögliche Option bei der IDW-Interpolation? Welche für dieses Problem geeigneten Interpolationsmethoden kennen Sie?
Zusätzliche Information:
Für die Interpolation vom Netz zu den Punkten verwende ich eine Interpolation basierend auf den barzentrischen Koordinaten . Jede polyedrische Zelle des Netzes wird in Tetraeder zerlegt. Das zellzentrierte Feld wird unter Verwendung der IDW-Interpolation zu den Zellenpunkten interpoliert . Für jeden Punkt wird eine Suche durchgeführt, um das Tetraeder zu finden, in dem es liegt, und die Werte werden unter Verwendung der baryzentrischen Interpolation interpoliert .
Für die Interpolation von den Punkten zum Netz ist dies nicht möglich. Die zellzentrierten Werte sind unbekannt. Es gibt keine Möglichkeit, eine tetraedrische Zusammensetzung zusammenzusetzen, die erzwingen würde , wobei W P C das Gewicht ist, das sich auf einen Punkt P und ein Zellzentrum C bezieht . Dies liegt daran, dass die Punktkonfiguration beliebig ist. Daher verwende ich derzeit IDW, um sicherzustellen, dass ich keine Gleitkommaausnahme erhalte. Gibt es für dieses Problem besser geeignete Interpolationsmethoden?
quelle
Antworten:
Links zu verschiedenen Softwarepaketen für die Interpolation gestreuter Daten finden Sie auf meiner Webseite http://www.mat.univie.ac.at/~neum/stat.html#fit
Das Buch
GE Fasshauer, Meshfree Approximation Methods using MATLAB, World Scienti fi c 2007.
bietet einen umfassenden Stand der Technik (Stand 2006).
Einige neuere Artikel zur Streudateninterpolation:
http://www.stanford.edu/group/uq/pdfs/journals/jcp_scattered_2010.pdf
http://www.math.auckland.ac.nz/~waldron/Preprints/ Box-Splines / Box-Splines.pdf
Welche Methode verwendet werden soll, hängt stark von der Verwendung des resultierenden Interpolanten ab. Kriging-Methoden basieren auf einem stochastischen Modell und sind daher gut, wenn die zu interpolierenden Daten etwas verrauscht sind. Radiale Basisfunktionen sind zu bevorzugen, wenn (stabil implementiert) und ein visuell ansprechendes Ergebnis gewünscht wird (Interpolation mit geringer Krümmung).
quelle
Im Folgenden werde ich ein Beispiel geben, wie ich auf einem endlichen Volumennetz von einem Punktsatz zu einem anderen interpoliere.
Ich habe eine Anordnung von Variablen zusammengestellt - die Daten, die ich im Speicher speichere, repräsentieren Werte in Zellzentren. Ich speichere Feldvariablen und ihre Verläufe. Gradienten werden aus Umgebungswerten ermittelt, die ein Problem der kleinsten Quadrate lösen (mit QR über Reflexionen der Haushalte).
Ihre Anordnung kann abweichen, aber das Prinzip ist das gleiche.
...
Dann schreibe ich
Sie benötigen also einen Satz von Feldwerten und Verläufen an diesen Punkten. Sie müssen entscheiden, welche umgebenden Punkte zu Ihrem interpolierten Punkt beitragen, sowie die Abstandsvektoren von diesen Punkten zu dem Punkt, zu dem wir interpolieren.
Beispiel: Wenn Daten, die für Werte repräsentativ sind, an Zellscheitelpunkten gespeichert werden, verwenden Sie diese Gleichung, um Werte für das Zellzentrum usw. zu ermitteln, je nachdem, in welcher Situation Sie sich befinden.
Das basiert also auf Taylor-Serien rund um den Punkt. Man kann auch zweite Ableitungen verwenden, um einen genaueren Ausdruck abzuleiten.
quelle