【问题标题】:Load netcdf subset in Matlab在 Matlab 中加载 netcdf 子集
【发布时间】:2013-05-19 12:11:43
【问题描述】:

生日,

我有 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 条目...但我不确定是否可以这样做我想要的是。有谁知道这样做的方法?

干杯

【问题讨论】:

    标签: matlab netcdf


    【解决方案1】:

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

    【讨论】:

    • 太棒了。这正是我使用的:subsetdata = ncread('filename.nc','var1',[1 31 1 1],[Inf 1 Inf Inf],[1 1 1 1]);
    猜你喜欢
    • 2022-10-06
    • 1970-01-01
    • 2013-06-29
    • 2017-06-23
    • 1970-01-01
    • 2011-10-14
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多