如何处理超出内存容量的单元格数组



当我读取计量数据(GRIB文件)时,内存(RAM)不足,总计35 GB的数据,进入matlab单元数组。

当我加载大数据集时,我如何解决我的ram限制?

我已经尝试预先分配单元数组,但这没有帮助。它在数据集加载70%时停止。

下面是出错的for循环:

%加载文件

for ii = 1:number_files
    waitbar(ii/number_files,h);
    file_name = [fname,'',num2str(ii),'.grb'];
    grib_struct = read_grib([file_name],-1);
    Temp{ii} = single(grib_struct(1,1).fltarray);
    Rad_direct{ii} = single(grib_struct(1,2).fltarray);
    Rad_diff{ii} = single(grib_struct(1,3).fltarray);
    fclose('all');
end   

谢谢!

可以使用matfile命令直接操作文件系统。它将您输入的所有数据直接存储在文件系统中。这将是缓慢的,但这是可能的。

最新更新