我有一个包含许多行的文本文件,每行都有一个数字。为了绘制我想要的线,我需要阅读第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
答案 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