【问题标题】:How to specify the chunksize of large array saved in -v7.3 matfile?如何指定保存在-v7.3 matfile 中的大数组的块大小?
【发布时间】:2020-05-21 12:33:11
【问题描述】:

我正在将大型数据数组保存到 mat 文件中。

m = matfile('data.mat','writable',true);
m.X(1000,1000,10,50000) = nan(1,'single');
for ii = 1 : 50000
  % do some computation
  m.X(1:1000,1:1000,1:10,ii) = Y;
end

如何将 X 的 ChunkSize 设置为 [1000,1000,1,1]?

【问题讨论】:

  • 不要认为你可以影响它。您更改块大小的目标是什么?
  • @Daniel 因为 matfile 会很大,在后期处理中,我需要逐帧读取它们。

标签: matlab hdf5 mat-file


【解决方案1】:

您不能使用matfile 命令,但您可以使用 HDF5 api。因为matfiles v7.3 use the HDF5 format,我想它也应该在阅读方面对你有用?这是文档中的一个小示例:

h5create('myfile.h5','/DS3',[20 Inf],'ChunkSize',[5 5]);
for j = 1:10
      data = j*ones(20,1);
      start = [1 j];
      count = [20 1];
      h5write('myfile.h5','/DS3',data,start,count);
end
h5disp('myfile.h5');

Source of the example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多