细胞mat-file
33视图(30天)
显示旧的评论
接受的答案
沃尔特·罗伯森
2015年5月10日
Mathworks专门文件,你不能做一个单元阵列的部分负荷。
你必须打破单元阵列到matfile变量存储的时候。例如,
chunksize = 10;
varbase =“myvar#”;
chunkname =猫(varbase,“_chunk_”);
m = matfile (“myFile.mat”,可写的,真正的);
varlen =大小(MyVar, 1);%我将假定分块组织的行
chunklist = [1: chunksize: varlen varlen + 1];
numchunks =长度(chunklist) - 1;
chunknames =细胞(numchunks, 1);
为chunknum = 1: numchunks
thisvarstr = sprintf (' % s % d '、chunkname chunknum);
m。(thisvarstr) = myvar# (chunklist (chunknum): chunklist (chunknum + 1) 1:);
chunknames {chunknum} = thisvarstr;
结束
chunkinfo =结构(“chunklist”chunklist,chunksize的chunksize,“大小”、大小(MyVar一样),“chunknames”chunknames,“chunkname”,chunkname);
chunkinfostr =猫(chunkname,“信息”);
m。(chunkinfostr) = chunkinfo;
这个生产文件变量MyVar_chunk_info一些描述性信息,和MyVar_chunk_1 MyVar_chunk_2等等信息。
鉴于任何特定列索引,可以计算基于chunksize块数量。或者你可以使用块列表,这是结构化等一系列边界[1 11 21 22]N块从细胞指数在第N个输入和结局
之前
细胞指数给出下一个条目,所以上面的列表描述块指数{1:10,11:20,21}。
[计数,chunknumber] = histc (rowindexlist chunklist);
适应任何你所需要的灵活性。