1

有人对如何将逗号分隔的数据文件读入 Matlab 有一些建议吗?简单的解决方案(如 dlmread、fscanf)似乎不起作用,因为有多 (10) 行标题信息。我最接近解决方案的是:

C=textscan(datafile)
G=cell2mat(C{1,1}(34:endoffile)}) //34 is the line the data starts
V=str2num(G)

这里的问题是数据例如看起来像这样:

;1.0345,937,18,763
;1.0355,947,4,652
etc.

转换为矩阵时,单元格中的所有字符串必须具有相同的大小,否则会给出使用 'vertcat' 的错误。如果没有其他选择,我可以只删除记事本中的标题,但是对于许多文件来说,这将是一项乏味的工作。

4

1 回答 1

5

DLMREAD接受起始行/列参数,或者范围参数。因此,如果您的数据从第 10 行开始,您可以尝试

V = dlmread(datafile, '', 9, 0);

如果您更喜欢TEXTSCAN,您可以指定HeaderLines要跳过的数量:

V = textscan(datafile, ..., 'HeaderLines', 10, ...);

向下扫描到文档页面上的“用户可配置选项”以获取更多详细信息。

于 2010-04-29T07:19:13.293 回答