我知道我的问题可能与已发布的其他问题类似。但是,我浏览了明显接近问题的答案,但仍然无法做我想做的事情。因此,我再次问我的。
我有一个这种类型的文本文件(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 =
[]
答案 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
来读取和标记元素,然后将它们转换回具有一些索引逻辑的矩阵。这也适用于您的情况。