2012-12-07 116 views
2

我正在分析.txt文件中的一組文本。該文件有30行,每行包含不同的短語,包含文本,數字和符號。Matlab .txt文件分析

  1. 什麼是導入此文件到Matlab的最佳方式進行分析 (即:每行有多少資金我的是在文本文件或#text短語有多少文件中(分析微博)

回答

2

我想你最好讀取文件line-by-line並保存每一行的單元陣列的單元:

fid = fopen(filename); 
txtlines = cell(0); 
tline = fgetl(fid); 
while ischar(tline) 
    txtlines{numel(txtlines)+1}=tline; 
    tline = fgetl(fid); 
end 
fclose(fid); 

這樣,您就可以輕鬆地訪問txtlines{ii}每行

如果您始終需要對整個文本執行操作(即整個文本文件中有多少個a,而不是每行),那麼您當然可以將這些行集中在一個變量中。

每行執行的操作,可以用cellfun簡單地完成,例如計算資本的「我的數字:

capI_per_line = cellfun(@(str) numel(strfind(str,'I')),txtlines); 
0

如果該文件是合理的大小(最多30個文件)我想立刻將它全部讀入內存。

fid = fopen('saturate.m'); 
str = fread(fid,inf,'*char')'; 
fclose(fid); 

然後,根據你的需要,你可以在str變量使用基本矩陣運算,字符串操作或正則表達式風格分析。

例如,「我有多少資本?」?是:

numIs = sum(str=='I'); 

或者,「有多少個'someString'的實例?」是:

numSomeString = length(strfind(str, 'someString'));