我需要读取一个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