2 oder 3 D Spline

Neue Frage »

Wolfgang123 Auf diesen Beitrag antworten »
2 oder 3 D Spline
Hallo,

bin neu hier, also schon mal Entschuldigung.

Ich hab schon eine weile gegoogelt, bin aber leider auf nichts - für mich - verständliches gestoßen.

Problem: ich habe Messdaten (Messwert abhängig von 3 Größen), und würde mir daraus gern eine LUT basteln. Für 1D-Daten habe ich mittels Spline interpolation gemacht -> klappt wunderbar. Für Mehrdimensionale Datenpunkte steh ich nun irgendwie auf dem Schlauch, da die Messpunkte nicht auf einem Raster Verteilt sind.

Hat jemand eine Idee, wie man so etwas angeht, oder nach was man am besten Googelt?

Danke
Gruß
Wolfgang
tigerbine Auf diesen Beitrag antworten »
Abkürzung :(
Was ist denn eine LUT?

Link: Mehrdimesionale SplineIP.pdf
Wolfgang123 Auf diesen Beitrag antworten »

Entschuldigung:
LookUpTable

Wolfgang
tigerbine Auf diesen Beitrag antworten »

Zitat:
Für Mehrdimensionale Datenpunkte steh ich nun irgendwie auf dem Schlauch, da die Messpunkte nicht auf einem Raster Verteilt sind.


Was meinst Du damit? Kannst Du ggf einen Beispieldatensatz geben. Du suchst nun eine mehrdimensionale Funktion (Von wo nach Wo) die "Was" tut? Interpoliert? Approximiert? ...?

Für alle, die es wie ich nicht kannten: LUT
Wolfgang123 Auf diesen Beitrag antworten »

Beispiel:
gemessene Größe: P,
grob einstellbare, aber genau Meßbare Größen: Q, T, dT
gemessen wird also P in Abhängigkeit von Q, T und dT

Problem ist nun, dass ich nicht 2 Größen konstant halten kann und P nur in Abhängigkeit der 3. Vermessen kann. Dann könnte ich auch entlang dieser einen Größe mittels kubischen Splines interpolieren. Da es aber eben immer alle 3 sind, die auch nicht auf einem "Raster" (bzw. Netz, Geraden???) liegen, so dass man zB. die Funktion SURF (Matlab; wäre dann immerhin schon 2D) verwenden könnte weiß ich nicht wirklich weiter.

Vielleicht versuch ichs nochmal mit dem was ich unter 2D verstehe:
P ist nur abhängig von Q und T
Meine Messpunkte sind zB:
Q T
1 20
2 21
3 19
1.1 30.1
1.9 29.4
2.8 30.6
......
Mann könnte sagen, dass die Messwerte nicht auf einer Geraden liegen.

Für eine LookUpTable wäre es natürlich schön, wenn sich die einzelnen Messwerte in eine Tabelle schreiben ließen. So in etwa:
Q
T 1 2 3
20 Pwert Pwert Pwert
30 Pwert Pwert Pwert

Ich hoffe ich konnte es halbwegs erklären.

Gruß und Danke fürs Interesse
Wolfgang
tigerbine Auf diesen Beitrag antworten »

Ok, dann suchen wir schon mal eine Abbildung der Art:

oder


Bleiben wir mal beim ersten Fall, da können wir gerade noch "bildlicher" sprechen. Die Meßpunkte liegen dann in der x1x2-Ebene, die Funktionswerte werden in x3 Richtung aufgetragen.

Nun liegt es imho erstmal an die uns eine "Wunschgestalt" des Funktionsgraphen zu geben. Da du von einer Tabelle sprichst, soll die Funktion wohl interpolierend sein?

Boardsuche: http://www.matheboard.de/archive/152739/thread.html
 
 
Wolfgang123 Auf diesen Beitrag antworten »

interpolierend -> ja, damit das ganze in einer Tabelle abgespeichert werden kann und man sich den richtigen "P" Wert auch schnell wieder findet bzw. dann aus den Tabellendaten zum entsprechenden P-Wert interpoliert. Aber das ist wieder ein anderes Thema.

Für 1D-Daten verwende ich derzeit eine kub. Splineinterpolation, um die Messwerte für "diskrete" Eingangswerte zu berechnen.

Mein Tabellenversuch mittels Leerzeichen sieht leider nicht so ansprechend aus.

Wolfgang
tigerbine Auf diesen Beitrag antworten »

Zitat:
Mein Tabellenversuch mittels Leerzeichen sieht leider nicht so ansprechend aus.


Benutze für so etwas die Code Tags. Doppelte Leerzeichen werden sonst ignoriert.

Zitat:
Für 1D-Daten verwende ich derzeit eine kub. Splineinterpolation, um die Messwerte für "diskrete" Eingangswerte zu berechnen.


Ok. Ob nun diskret oder Funktion ist ihmo ja erstmal egal. Hast Du die Links gelesen?
Tomtomtomtom Auf diesen Beitrag antworten »

Ich würde dir eher Nichtparametrischen Regression empfehlen. Diese bestimmt den Funktionswert an einem beliebigen Punkt x, indem eine gewichtete Summe der Funktionswerte über alle gegebenen Datenpunkte berechnet wird, wobei die Gewichte vom Abstand des jeweiligen Datenpunktes zu x abhängen. Für eher "wild" liegende Messpunkte ist diese Methode günstiger als eine Splineinterpolation.

Eine Einführung gibts hier:

http://www.quantlet.com/mdstat/scripts/anr/html/anrhtml.html

oder dasselbe als pdf

http://www.quantlet.com/mdstat/scripts/anr/pdf/anrpdf.pdf

Etwas besseres habe ich gerade nicht zur Hand, davon ist nicht alles wichtig, die ersten Kapitel reichen erstmal völlig aus, um zu verstehen, wie die Methode grundsätzlich funktioniert.
Wolfgang123 Auf diesen Beitrag antworten »

Link, hab ich gelesen (verstanden... nun ja).
So weit ich es aber verstanden hab, wird mittels einem Polynom interpoliert. Für meine Messdaten würde ich ein Polynome bis 100-Ordnung und mehr benötigen. Drum bisher die Interpolation mit kub. Splines im 1D.
Würden meine Messwerte auf "diskreten" Eingangsgrößen (Q1, Q2,...) und (T1, T2, ...) ->(P11, P12,P21,...) basieren könnte ich von Matlab ein Hypersurface generieren lassen und so zu meinen Wunsch Q-T-dT-Werten interpolieren. Leider kann ich aber Q nicht exakt "einstellen", so dass ich bei T1 mit einem anderen Q messe wie bei T2 usw.
Mein Ansatz wäre daher, dass ich mir - wie bei 1D - einen Spliner schreibe, der mir aus den einzelnen Messvektoren eine Matrix (Q,T,dT) für "diskrete" Q, T und dT - Werte generiert. Dieser 3D-Array läßt sich bequem Speichern.
Für andere Vorschläge/Möglichkeiten um von den Messvektoren auf einen 3D-Array zu kommen bin ich jederzeit offen.

Wolfgang
Tomtomtomtom Auf diesen Beitrag antworten »

Hast du den Post gesehen? Wir haben wohl so ziemlich gleichzeitig gepostet.
Neue Frage »
Antworten »



Verwandte Themen

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