Verfasst am: 27.11.2014, 01:47
Titel: Probleme bei der Interpolation mit griddata
Hallo an die Community,
ich bin erst seit ein paar Tagen mit MatLab am arbeiten und möchte gern ein kleines Projekt verwirklichen.
Ich möchte einen 3D Plot der Bodendruckdaten erstellen. Im optimalen Fall habe ich die Kontur von Deutschland und die Bodendruckdaten werden als gewölbte Fläche dargestellt.
Ich habe in einer *.txt Datei die Koordinaten von Messstationen in Deutschland mit den dazugehörigen Bodendruckdaten. Die Werte liegen als Spaltenvektoren in der Textdatei bereit.
Nun habe ich mich ein wenig informiert und mein Ansatz ist über die griddata Funkion zu gehen.
Folgendes habe ich derzeit geschrieben:
Code:
load Luftdruck.txt;
x = Luftdruck(:,2);
y = Luftdruck(:,1);
z = Luftdruck(:,3);
b = 47:0.01:55; %Erstellt einen Vektor für die geogr. Breite
l = 5:0.01:15; %Erstellt einen Vektor für die geogr. Länge
Nun, wenn ich das Konstrukt ausführe, so Vermeldet er mir folgende Fehlermeldung: "Dublicate data points have been detected and removed - corresponding values have been averaged"
Zudem besteht die Matrix von vq vollkommen aus "NaN" Werten.
Es wird ein Plot erstellt, dieser ist aber logischerweise leer, da die Werte ja alle "NaN" sind.
Für mich als Laie ist die Syntax vollkommen klar und auch verständlich, weshalb ich nicht verstehe warum das Ganze nicht funktioniert.
Ist der Ansatz zu Realisierung so ok, oder gibt es da bessere Methoden?
Exakt lässt sich das nur mit den Daten aus Luftdruck.txt erklären, aber der Kern des Problems scheint zu sein, dass es (zu) viele identische x-y Kombinationen gibt. Normalerweise werden die sinnvoll gemittelt (die Warnung), aber hier passiert etwas was die NANs erzeugt.
Ich habe die entsprechende .txt datei angehängt. Kann sein, dass die angehangene Datei einen anderen Namen hat als im Code - nur zur Info.
Könnte es auch daran liegen, dass es zu wenig Daten sind, die auf eine zu kleine Fläche interpoliert werden muessen? Letztlich sind es ja nur 182 Messwerte.
Ich danke für die Hilfe, auch wenn ich nicht verstehe weshalb es jetzt funktioniert und vorher die vq Matrix nur mit NaN gefüllt war. Jetzt läuft es, als hätte es schon immer funktioniert - erfreulich und frustrieren zugleich .
Eine Frage hätte ich noch. Und zwar habe ich mir rund 500 Koordinatenpunkte der deutschen Grenze besorgt Ich konnte mit Deren Hilfe auch schon die Kontur Deutschlands zeichnen. Meine Idee ist es nun, diese Kontur auf die vq Oberfläche zu legen, damit man mit dem Relief auch Werte einem Ort zuordnen kann.
Ist dies möglich? Wie könnte man dies realisieren?
Oder gibt es schönere Darstellungsformen?
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.