将txt数据集加载到matlab中的矩阵结构中

时间:2014-10-07 11:46:00

标签: matlab dataset

我需要阅读txt数据集并通过matlab进行一些分析。 txt文件的结构如下:

ID Genre AgeScale 1 M 20-26

2 F 18-25

所以,我想加载这个txt文件并构建一个矩阵。我想知道是否有人可以帮助我。我使用fopen函数,但它给了我一个单独的数组而不是一个有3列的矩阵。

2 个答案:

答案 0 :(得分:0)

函数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 在较新版本中)和 strtok 将AgeScale字符串拆分为分隔符' - '。

答案 1 :(得分:0)

MATLAB有一个交互式数据导入器。只需在命令窗口中输入uimport即可。它允许您:

  • 根据示例中显示的标题命名变量。您也可以手动更改它们。
  • 指定变量(列)类型,例如数字,字符串的单元格数组等
  • 自动生成下次使用的导入脚本(如果需要)

如果它对你有用,那么恭喜你,你不需要浪费时间来编写数据导入脚本:)