2017-11-11 4 views
0

Ich möchte mehrere NC-Dateien aus einem Ordner lesen. diese Dateien sind in Matrixform, d. h. schichtweise Daten. Ich habe erfolgreich eine einzelne Datei gelesen und die Attribute angezeigt und auch extrahiert. aber wenn ich versuchte, sie zu plotten, endet es mit dem Fehler. Ich bin neu bei MATLAB, also weiß ich nicht, was für ein Fehler das ist und wie man es beheben kann. Ich muss auch mehrere Dateien lesen und einen separaten Datenrahmen mit gewünschten Variablen erstellen. ich diesen Code versucht haben: `Nc-Dateien in Matlab lesen

filename='1.nc'; 
    ncdisp(filename); 
    lat=ncread(filename,'latitude'); 
    lon=ncread(filename,'longitude'); 
    time=ncread(filename,'time'); 
    vertical=ncread(filename,'D_vertical_profile') 
    mymap=pcolor(lat,lon,time)` 

es mit dem Fehler

Fehler mit pcolor (Linie 57) Matrix Dimensionen kommt, muss zustimmen.

Antwort

0

der offiziellen Dokumentation Folgende:

pcolor (X, Y, C) zeichnet eine Pseudo Plot der Elemente von C an den durch X angegebenen Positionen und Y

So:

ncfile = 'C:\Path\To\File\1.nc'; 

lon = ncread(ncfile,'longitude'); 
lat = ncread(ncfile,'latitude'); 
time = ncread(ncfile,'time'); 

tco = ncread(ncfile,'TCO'); 
[x,y] = meshgrid(lon,lat); 

for i = 1:length(time) 
    pcolor(x,y,tco(:,:,i)'); 
    shading interp; 
    title(sprintf('time = %f',time(i))); 

    pause(0.1); 
end 
+0

Danke für die Antwort. Es kommt derselbe Fehler auf, dass "Matrix-Dimensionen übereinstimmen müssen". Tatsächlich liegen die vertikalen Daten in Form von Schichten vor, d. H. In sechs Spalten gegen die gleichen Lat-Longs. Lat, Longs und Zeit wird in einer einzelnen Spalte angezeigt. Meine Frage ist, wie man eine Tabelle oder einen Datenrahmen aus Zeit-, Lat-, Long- und Vertikal-Daten erstellt? – Qaim