Verfasst am: 20.10.2015, 12:11
Titel: Interpolatin von Messwerten
Hallo zusammen,
als Matlabfrischling habe ich folgendes Problem:
ich habe auf einer Fläche 72*50=3600 Messpunkte. Diese sind wild verteilt. Soll heißen ich habe 3600 verschiedene x-Werte und 3600 y-Werte der Messpunkte.
Nun möchte ich aus den Messpunkten eine Kurve interpolieren, plotten und dann an festen (linearen) Punkten wieder auswerten.
Hat jemand eine Idee wie ich am besten vorgehe? Sämtliche Versuche mit Grids sind ohne Erfolg geblieben.
Sämtliche Versuche mit Grids sind ohne Erfolg geblieben.
ohne den code zu den versuchen mit fehlermeldung und beispieldaten kann dir dabei leider keiner helfen. die antwort kann dann nur allgemein lauten mittels interpolation.
Zitat:
72*50=3600 Messpunkte. Diese sind wild verteilt. Soll heißen ich habe 3600 verschiedene x-Werte und 3600 y-Werte der Messpunkte.
das ist für mich ohne beispieldaten nicht verständlich.
_________________
Es geht mir eher um den Ansatz, weniger um den genauen Code.
Ich habe Verschiedene Messpunkte im Raum verteilt.
Nomralerweise hat man bei einer Messung auf einem Gitternetz zu einem Bestimmten x und y Wert einen z Wert in den Gitterknoten.
Im meinem Fall habe ich jedoch die Werte nicht in den Knoten eines regelmäßigen Gitters sondern unregelmäßig verteilt.
Meine Idee ist nun aus den Messpunkten eine 3D Funktion zu Interpolieren, und danach die interpolierte Funktion an regelmäßigen Punkten (Gitter) auszuwerten.
das versteh ich nicht. willst du eine funktion haben oder willst du interpolieren?
Zitat:
Sämtliche Versuche mit Grids sind ohne Erfolg geblieben.
wie gesagt ohne den code kann ich nicht sagen warum. wenn du schon alles durchprobiert hast bringt es ja nix hier nochmal die gleichen vorschläge zu machen. es wäre also einfacher wenn du beispieldaten zur verfügung stellst und den code der nicht zum gewünschten ergebniss führt. für mich hört sich das nämlich bis jetzt immernoch so an als würde
griddata
funktionieren.
_________________
Error using griddata (line 109)
The lengths of X and Y must match the size of Z.
Code:
x_mess=[0.980.991.011.031.971.992.022.032.952.982.993.043.963.973.994.02]; % Messpunkte X
y_mess=[0.970.981.011.021.961.972.012.032.942.962.983.053.983.994.004.02]; % Messpunkte Y
z_mess=[1359; 2348; 1247; 2469]; % Werte der Messpunkte Z
und wie hängen diese werte zusammen? wie die fehlermeldung schon sagt passen da die diemensionen nicht. woher soll matlab da wissen welcher Z-wert zu welchen x y paar gehört
_________________
hmm du versucht zu extrapoliren. deine messwerte sind aber quasi nur auf der diagonalen. und davon auch noch sehr wenig. ich halte das nicht für sinnvoll egal was da rauskommt.
der code an sich ist nicht falsch. matlab schaft es blos nicht anhand deiner wenigen daten da cubisch zu interpoliren
wenn du aber zb nearest oder v4 machst kommt ein ergebniss raus. das ist wahrscheinlich nicht sinnvoll aber du hast auch nur wenig daten.
_________________
Ich kann das Ergebnis auch schon plotten. Auf den Knotenpunkten des mesh-gitters erhalte ich nun meinen gesuchten Wert, der ja in der Matrix vq verbirgt. Wenn ich jedoch die Matrix im Workspace aufrufe stehen in den Elementen nur NaN. Weis jemand warum?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.