Messwertinterpolation < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe mehrere Messwerte Aufgenommen und diese ausgewertet.
Ergebnis der Bemühungen ist eine Matrix X die nach Zeilen eines gewissen Parameters s von [-20:2:20] und nach Spalten eines Parameters u von [3.4:0.2:6.4] geordnet ist.
Ich versuche nun eine Funktion zu schreiben, die mir bei gegebenem s und u im jeweiligen Intervall den Wert and der Stelle (s,u) aus der X-Matrix ausliehst bzw interpoliert, falls s und u von den vorgabewerten abweichen.
Also auch bei X(2.5,4.1) den entsprechen Wert interpoliert.
Nun meine Frage, gibt es bereits eine Matlab Funktion die diese Aufgabe erledigt.
Hab bereits mir interp1 und interp2 angeschaut, aber es nicht hinbekommen.
Fange jetzt eben an mir eine Funktion selbst zu schreiben, für Hilfen bin ich dennoch dankbar.
Mfg Chris
|
|
|
|
Hallo,
interp2 funktioniert bestens, wenn man berücksichtigt, dass hier die Werte nicht wie in einer Matrix als (Zeile,Spalte) sondern wie in einem Koordinatensysteme als (x-Koordinate,y-Koordinate) bzw. (Spalte, Zeile) angesprochen werden.
Ein Beispiel:
Wir haben ein Messfeld mit den x-Koordinaten (Spalten) U = [0:2:6] und den y-Koordinaten (Zeilen) S = [-2:2:2]. Die Matrix mit den Werten hat |S| Zeilen und |U| Spalten.
Dann erhalten wir den Wert an der Stelle (x,y)=(u,s)=(1.5, -1) durch:
interp2(U, S, X, 1.5, -1);
Gruß
Martin
|
|
|
|