Matlab 如何将多个文件读入单个单元格数组?

Matlab 如何将多个文件读入单个单元格数组?,matlab,file-io,cell-array,textscan,Matlab,File Io,Cell Array,Textscan,我有一个大数据集,分为5个文件(每个文件有15000个属性,第一个文件包含标题(属性名称)和9999条记录,其他4个文件包含10000条记录) 使用textscan,我创建了5个单元格数组,这些数组必须合并,不知道这种方法是否合适,或者最好直接将所有5个文件读入单个单元格数组。无论如何,如果你们中的任何人能够展示将多个单元格数组合并为单个单元格数组或将多个文本文件读取为单个单元格数组的方法,我将不胜感激 谢谢大家! 除非您想使用Java魔法,否则无法将多个文件直接读取到单个数组中 但是,一旦获得

我有一个大数据集,分为5个文件(每个文件有15000个属性,第一个文件包含标题(属性名称)和9999条记录,其他4个文件包含10000条记录)

使用textscan,我创建了5个单元格数组,这些数组必须合并,不知道这种方法是否合适,或者最好直接将所有5个文件读入单个单元格数组。无论如何,如果你们中的任何人能够展示将多个单元格数组合并为单个单元格数组或将多个文本文件读取为单个单元格数组的方法,我将不胜感激


谢谢大家!

除非您想使用Java魔法,否则无法将多个文件直接读取到单个数组中

但是,一旦获得了单元数组,就应该很容易将它们组合起来:假设每个单元数组中的列数相同,可以如下方式将它们连接起来:

finalCell = [cell1;cell2;cell3;cell4;cell5];

扩展Jonas的回答,如果内存是一个问题,您可以在读取文件时合并它们,以避免使用5 x 15000 x 10000+1 15000 x 50000单元阵列

finalCell=textscan(fid_1,“格式”)

finalCell=[finalCell;textscan(fid_2,'format')

finalCell=[finalCell;textscan(fid_3,'format')

finalCell=[finalCell;textscan(fid_4,'format')

finalCell=[finalCell;textscan(fid_5,'format')

致以最良好的祝愿


Adam

如果我正确理解您对文件的描述,则每个文件都包含10000 x 15000的数据数组。对吗?这意味着单个阵列(假设为double类型)将占用大约1.2GB的空间。这会给你造成一些记忆问题。@gnovice:接得好。不过,OP可能在一个不错的计算服务器上运行。这段代码返回一个大小为5 x 15000的单元格数组。我想得到的是一个大小为50000 x 15000的单元格数组。