我需要讀取一個txt數據集並通過matlab做一些分析。 txt文件的結構是這樣的:將矩陣結構中的txt數據集加載到matlab中
ID流派AgeScale 1M的20-26
2 F 18-25
因此,我希望加載這個txt文件並建立一個矩陣。我想知道是否有人可以幫助我。我使用fopen函數,但它給了我一個單獨的數組而不是一個有3列的矩陣。
我需要讀取一個txt數據集並通過matlab做一些分析。 txt文件的結構是這樣的:將矩陣結構中的txt數據集加載到matlab中
ID流派AgeScale 1M的20-26
2 F 18-25
因此,我希望加載這個txt文件並建立一個矩陣。我想知道是否有人可以幫助我。我使用fopen函數,但它給了我一個單獨的數組而不是一個有3列的矩陣。
函數fopen只返回文件ID而不返回文件的內容。打開文件後,使用文件ID逐行讀取,然後使用空格作爲分隔符分隔每行strsplit。
這裏是這樣做的一個簡單的方法:
fid = fopen('textfile.txt');
tline = fgetl(fid);
n = 1;
while ischar(tline)
data(n,:) = strsplit(tline(1:end-1),' ');
n=n+1;
tline = fgetl(fid);
end
fclose(fid);
請記住,矩陣數據類型爲字符串,而不是數字,所以如果你想使用你的數據集的數值,你」我們需要看看函數str2num(str2double in newer versions)和strtok用分隔符' - '分割AgeScale字符串。
您是否試過['readtable'](http://www.mathworks.com/help/matlab/ref/readtable.html)函數? – Dan 2014-10-07 12:05:59