在Matlab中加载netcdf子集

时间:2013-05-23 23:46:42

标签: matlab netcdf

天儿真好,

我以netCDF文件的形式输出海洋模型。 netCDF文件大约是21GB,我想加载的变量也很大(~120 * 31 * 300 * 400大小的矩阵)。

我想将一些netCDF文件中的变量加载到MATLAB中。通常,我会这样做:

ncload('filename.nc',var1)

将变量var1加载到类似命名的MATLAB变量中。但是,由于我只需要一列var1,我只想加载var1的子集 - 这应该加快加载过程。例如,比方说,

size(var1)
>>   var1      120x31x260x381            

我只想要第31列,并加载其他30列,丢弃信息似乎是浪费时间。换句话说,这就是我想要完成的任务:ncload('filename.nc',var1(:,31,:,:))

我知道有几个不同的netCDF工具箱浮动,我听说可以使用stride标志只加载每个xth条目...但我不确定是否它可以做我想要的。有谁知道这样做的方法?

干杯

1 个答案:

答案 0 :(得分:3)

如果您有当前版本的MATLAB,请查找NCREAD及其中的示例。