【问题标题】:reading nc files in matlab在matlab中读取nc文件
【发布时间】:2018-04-24 19:55:50
【问题描述】:

我想从一个文件夹中读取多个 nc 文件。这些文件采用矩阵形式,即分层数据。我已成功读取单个文件并显示属性并提取它们。但是当我试图绘制它们时,它以错误结束。我是 MATLAB 新手,所以我不知道这是什么错误以及如何修复它。 我还必须读取多个文件并使用所需的变量创建一个单独的数据框。 我试过这段代码:`

    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)`

它带有错误

使用 pcolor 时出错(第 57 行) 矩阵尺寸必须一致。

【问题讨论】:

    标签: matlab plot time-series netcdf4


    【解决方案1】:

    按照官方文档:

    pcolor(X,Y,C) 在 X 和 Y 指定的位置绘制 C 元素的伪彩色图

    所以:

    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
    

    【讨论】:

    • 感谢您的回复。它提出了与“矩阵尺寸必须一致”相同的错误。实际上,垂直数据是层的形式,即在六列中针对相同的纬度。经纬度和时间显示在单列中。我的问题是如何制作时间、纬度、经度和垂直数据的表格或数据框?
    猜你喜欢
    • 2018-10-11
    • 2017-10-26
    • 2020-03-23
    • 2013-06-14
    • 2012-04-18
    • 2012-01-15
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多