Zweidimensionale Interpolation, nicht ganz linear und zwei Werte pro Punkt

Neue Frage »

Matheschwerversteher Auf diesen Beitrag antworten »
Zweidimensionale Interpolation, nicht ganz linear und zwei Werte pro Punkt
Hallo,

ich bin schon seit langem aus der Schule raus und war noch nie gut in Mathe.

Eine Geradengleichung bekomme ich noch aufgstellt, danach wirds interessant ;-)


Leider habe ich nun ein größeres Problem, für das meine Kentnisse nicht ausreichen und mein Lösungsversuch funktioniert nicht optimal.

So sehen meine Daten aus:

[attach]36519[/attach]


Jedes Kreuz markiert einen Messpunkt.
Wie sich zeigt liegen die Punkte nicht ganz linear im Koordinatensystem.
Jedes Kreuz (x,y) wiederum besitzt zwei hinterlegte Werte (x2, y2).

Tendenziell ist es so, dass mit zunehmendem x x2 steigt.
Ebenso verhalten sich y und y2.

Ziel ist es nun für jeden Punkt x,y im Koordinatensystem die zugehörigen Werte x2,y2 automatisiert in C++ errechnen zu lassen.

Die Daten liegen wie sich zeigt unregelmäßig im Koordinatensystem.


Ich habe bisher folgenden Ansatz probiert.
Ich habe zwei Interpolationen durchgeführt. Jeweils eine für eine Achse. Für die in X-Richtung habe ich immer einen X-Wert gesucht und dann ausgehend von diesem treppenförmig ausdehnend gesucht, wo der nächste Wert vorhanden ist.

So finde ich bei der 1 oben in der x-Matrix beginnend im dritten Durchlauf die 3. Diese schreibe ich in die erste Zeile an dieselbe Stelle. Aus der y-Matrix übernehme ich die 1 von der Startposition in der x-Matrix.

Danach errechne ich über den die Distanz von der Start 1 zur neuen 3 in der ersten Zeile das lineare Inkrement und fülle die Lücken. (Hier nur die eine 2). Der y-Wert wird wieder vom Startwert übernommen.

Dieses Verfahren wird dann auch für die y-Richung angepasst wiederholt.

x-Matrix:
code:
1:
2:
3:
4:
1 0 0 0| 5
0 0 3| 0 0
0 2| 0 0 0


y-Matrix:
code:
1:
2:
3:
4:
1 0 0 0 1
0 0 2 0 0
0 3 0 0 0



Leider ergibt diese Interpolation so eine Steigung in den Daten, die nicht da sein dürfte. Weiterhin gibt es einen trapezförmigen Fehler von oben nach unten bei den x-Werten.




Wie geht man richtig an dieses Problem ran und wie schafft man es eine bestmögliche Interpolation zu erreichen? An den Rändern könnten ruhig Lücken bleiben. Doch zwischen allen vorhandenen Werten sollten alle Lücken gefüllt sein.


Vielen Dank schon mal für die Hilfe :-)
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »