我知道要使用我需要写的加载命令:
blah = load('test.txt')
我的问题是我需要跳过测试文件的前几行,即文件格式为
872年 30(下面是需要放入矩阵的数据)
<00> 0000.0 0000.0 0000.0等...那我该怎么做?
我还有另一个文件如下:
1(abcdef)
2(fedcba)
3(edfbac)
到800左右。
是否可以将此类文件加载到矩阵中? (N.b.我需要能够在矩阵中查找某些字母组合,然后加载与字母相关的数字对应的文件)。
答案 0 :(得分:3)
实际上,load
用于加载MATLAB数据文件(* .mat),请参阅http://www.mathworks.co.uk/help/matlab/ref/load.html。对于文本文件,最好使用textscan
或dlmread
。
答案 1 :(得分:1)
您也可以通过逐行读取文件,并使用我们在下面看到的简单内容来决定跳过多少行。
fid = fopen('temp.txt','r');
count = 1;
lines2skip = 3;
mat = [];
while ~feof(fid)
if count <= lines2skip
count = count+1;
[~] = fgets(fid); % throw away unwanted line
continue;
else
line = strtrim(fgets(fid));
mat = [mat;cell2mat(textscan(line,'%f')).'];
count = count +1;
end
end
fclose(fid);