Frage von persiian, 29

Welche Interpolationsmethode?

Hi,

Ich stehe vor folgender Aufgabe in Java:

Ich habe Datensätze mit den Attributen Höhe, Breite und Länge die mit einem GPS-Geraet gemessen wurden als Punkte.

Nun möchte ich in Java ein Höhenprofil erstellen. Um dies zu machen bräuchte ich eine Interpolationsmethode um zwischen meinen gegebenen Punkten weitere Punkte berechnen zu können.

Dabei sollen auch alle Punkte den gleichen Abstand voneinander haben nach der Interpolation. Danach möchte ich ein Höhenprofil bzw. Oberflächenprofil in Java darstellen.

Leider weiss ich nicht welcher Interpolationsalgorithmus mich da weiter bringt bei der Sache. Ist hier ein Mathematiker der mir ein Interpolationsverfahren vorstellen könnte das meine Aufgabe löst und man auch leicht in Java umsetzten kann?

Lg

Expertenantwort
von DepravedGirl, Community-Experte für Mathe & Mathematik, 18

Ich bin keine Mathematikerin und Java benutze ich als Programmiersprache nicht.

Du wirst um Bücher zur numerischen Mathematik nicht drum herum kommen -->

https://www.google.com/search?tbm=bks&q=Mehrdimensionale+Splineinterpolation...+Spline-Interpolation&tbm=bks&start=10

Ich weiß, dass zweidimensionale Spline-Interpolation y = f(x)  leicht zu verstehen ist und auch leicht zu programmieren ist.

Dazu braucht man im großen und ganzen lediglich ein Unterprogramm, welches die Daten und Nebenbedingungen einliest, auf die Art die man will, ein Unterprogramm welches die zu lösende, problembedingte Matrix in einem Feld / Array generiert, und ein Unterprogramm welches lineare Gleichungssysteme aus Matrizen fehlerfrei lösen kann.

Wie das bei mehrdimensionaler Spline-Interpolation der Form z = f(x,y) aussieht weiß ich nicht, weil ich zur Zeit kein Programm zur mehrdimensionalen Spline-Interpolation geschrieben habe und in absehbarer Zeit auch keines schreiben werde.

Kommentar von DepravedGirl ,

Der Link in meiner Antwort wurde verändert, hier ist der Link noch mal --> https://goo.gl/Rgv4Fo

Antwort
von PeterKremsner, 29

Das einfachste wäre Lineare Interpolation.

Wenn du deinen Punkt als P(x/y) betrachtest also x ist ein Punkt in der x-y Ebene y ist indem fall die Höhe.

Jetzt nimmst du einfach y = k*x+d

Damit du das bestimmen kannst nimmst du zwei aneinander liegende Punkte, also P1(x1/y1) P2(x2/y2)

Die Steigung k ist jetzt (y2-y1)/(x2-x1)

und das d bekommst du indem du einen Punkt einsetzt also zB y1-k*x1 = d

Die Funktion y =kx+d ist jetzt eine lineare Interpolation zwischen den Punkten. Du machst dann für 2 Punkte immer diese Rechnung und hast im Endeffekt eine Funktionsschar und mit der kannst du alles mögliche Berechnen.

Wenn deine Abtastpunkte auch hinreichend weit beieinander liegen ergibt dass ein auch eine Gute Näherung. Das Problem ist aber nur dass die Methode keine Rauschunterdrückung bietet.

Antwort
von f1atlux, 22

Kubische Spline-Interpolation?

https://de.wikipedia.org/wiki/Spline-Interpolation

Keine passende Antwort gefunden?

Fragen Sie die Community