将.txt文件读入MATLAB矩阵

时间:2014-12-02 16:35:37

标签: matlab

我有一个.out文件(.txt)格式:

This is a text file
This file was created by Andrew on 4/5/14

Certificate Result Test #12

Time     A     B     C     D    
50       4     3     8     9
55       4     8     7     4
60       8     4     1     4
65       7     1     5     1
70       4     2     2     2

如何在MATLAB中将表中的数字读入一个名为M的矩阵,同时忽略开头的所有文本?

我尝试过使用fscan和M = dlmread(filename)但是我收到的错误是文件和格式字符串不匹配,因为文本行在开头。

提前致谢

2 个答案:

答案 0 :(得分:0)

textscan'HeaderLines'选项一起使用:

fid = fopen('my_file.out'); % or whatever your file is called
M = textscan(fid,'%d %d %d %d %d','HeaderLines',7); % using int32 data types, change as required
fclose(fid)

请注意M是一个单元格数组

答案 1 :(得分:0)

textscan是一个功能强大的工具,具有良好的低级功能。还有更方便的“进口数据”。适用于许多此类文件:

m = importdata('my.txt', ' ', 6)
m =

      data: [5x5 double]
  textdata: {6x5 cell}
colheaders: {'Time'  'A'  'B'  'C'  'D'}

正如您所看到的,它不仅返回m.data中的数据,还可以免费获得列标题。