2014-12-02 168 views
0

我對形式的.out文件(.txt):閱讀txt文件到MATLAB矩陣

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 

如何讀取表中的數字爲一個矩陣,稱爲M,在MATLAB在開始時忽略所有文本?

我嘗試過使用fscan和M = dlmread(filename),但我收到錯誤,說文件和格式字符串之間由於開頭的文本行不匹配。

在此先感謝

+1

歡迎來到SO,並感謝您爲您的問題提供一個示例。如果你嘗試過不同的方法,比如'fscan'或'dlmread',請將它們加入你的文章中。該解決方案可能很容易修復您的代碼,而不必從頭開始編寫一些東西。作爲指針,您還可以查看[textscan](http://uk.mathworks.com/help/matlab/ref/textscan.html)命令並查看HeaderLines參數。 – Hoki 2014-12-02 16:43:29

回答

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是一個單元陣列

0

textscan是一個強大的工具,具有良好的低級別的功能。還有一個更方便的「IMPORTDATA」,這適用於這樣的許多文件:

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

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

正如你所看到的,它不僅返回m.data的數據,但你也可以免費獲得該列標題。