2

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

blah = load('test.txt')

我的问题是我需要跳过我的测试文件的第一几行,即文件的形式

872
30
法郎

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

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左右。

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

4

2 回答 2

3

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

于 2013-07-16T14:24:53.633 回答
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);
于 2013-07-16T18:51:24.117 回答