Matlab - 如何从文本文件中读取值?

时间:2013-05-03 09:59:00

标签: matlab

我知道我的问题可能与已发布的其他问题类似。但是,我浏览了明显接近问题的答案,但仍然无法做我想做的事情。因此,我再次问我的。

我有一个这种类型的文本文件(data.txt)。

StudentA 10

StudentB 5

StudentC 3
...

同一行中的数据由制表符分隔。

如何在Matlab中只读取值(仅表示数字10,5,3等)并忽略StudentA,StudentB等?

我做了以下事情。

fid=fopen('grades.txt','r');

m=fscanf(fid, '%d');

但Matlab表明的是:

m =

     []

2 个答案:

答案 0 :(得分:3)

怎么样

fid = fopen('grades.txt','r');
A = textscan(fid,'%s %d','Delimiter','\r\n');
A = A{1};

它适用于你的情况。

答案 1 :(得分:2)

看看this question,它处理一个类似的情况。在问题中,文件格式为:

1 2 3 sometext
4 5 6 somemoretext
etc...

建议的解决方案使用textread来读取和标记元素,然后将它们转换回具有一些索引逻辑的矩阵。这也适用于您的情况。