我有一个.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)但是我收到的错误是文件和格式字符串不匹配,因为文本行在开头。
提前致谢
答案 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中的数据,还可以免费获得列标题。