Matlab加载命令

时间:2013-07-16 14:17:34

标签: matlab

我知道要使用我需要写的加载命令:

blah = load('test.txt')

我的问题是我需要跳过测试文件的前几行,即文件格式为

872年 30
FR

(下面是需要放入矩阵的数据)

<00> 0000.0 0000.0 0000.0等...
0001.0 0000.0 0000.0等...
0002.0 0000.0 0000.0等......

那我该怎么做?

我还有另一个文件如下:

1(abcdef)
2(fedcba)
3(edfbac)
到800左右。

是否可以将此类文件加载到矩阵中? (N.b.我需要能够在矩阵中查找某些字母组合,然后加载与字母相关的数字对应的文件)。

2 个答案:

答案 0 :(得分:3)

实际上,load用于加载MATLAB数据文件(* .mat),请参阅http://www.mathworks.co.uk/help/matlab/ref/load.html。对于文本文件,最好使用textscandlmread

答案 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);