MATLAB:从文本文件

时间:2017-09-21 13:25:23

标签: matlab file text

我有一个包含许多行的文本文件,每行都有一个数字。为了绘制我想要的线,我需要阅读第1,第2和第7,第8和第13,第14行和s.o.我如何为此编写代码?

我从互联网上获得了一些东西,但我不知道如何使用以下代码实现我的问题。

fileID = fopen([fname 'r'],'r');
% initialize a counter
count = 0;
% keep reading the file
while 1
% get a line of text
R = fgetl(fileID);
count = count + 1;
% exit if the line is empty
if R == -1
    break;
 end
% check modulus of count for every 2nd and 11th line
if mod(count,11) == 1
    tline_2nd = R;
elseif mod(count,2) == 10
    tline_11th = R;
end
end

1 个答案:

答案 0 :(得分:1)

由于你想阅读2行并跳过4行,你可以这样做:

编辑:这是存储行的代码。由于我不知道线条是什么样的,我把所有东西保存在一个单元格中。

fileID = fopen(fname,'r');
% initialize a counter
readnum = 2;
readcount = 0;
skipnum = 4;
R = {}; % Make R a cell array to hold non-uniform data.
% keep reading the file
while 1
    % get a line of text
    line = fgetl(fileID);
    readcount = readcount + 1;
    % exit if the line is empty
    if line == -1
        break;
    end
    if readcount > readnum
        readcount = 1;
        for i = 1:skipnum
            line = fgetl(fileID);
            if line == -1
                break;
            end
        end
    end
    R{end+1} = line;
end