How to Ignore the last line from a file read

16 views (last 30 days)
Hello people,
I have the folowing file and I would like to plot it with Matlab. As you can see, the last two line are not to be print, are letters. So, how can I ignore it ? That is, I want to read and plot only the four first lines. Anyone can help with it.
1 3 10
2 6 20
3 9 30
4 12 40
END ENDe ENDe
END ENDe ENDe

Accepted Answer

Image Analyst
Image Analyst on 7 Dec 2019
Edited: Image Analyst on 7 Dec 2019
Try this:
% Read in data.
d = importdata('data.txt')
% Now plot each row of data
for k = 1 : 4
plot(d(k, :), '.-', 'LineWidth', 2, 'MarkerSize', 30);
hold on;
legendStrings{k} = sprintf('Row #%d', k);
end
grid on
legend(legendStrings, 'Location', 'north');
Or, with the new data file you attached, perhaps this:
% Read in data.
d = readmatrix('mech_flu.txt', 'Range','A5:c4849')
% Extract just the first 4 rows, like he asked for.
x = d(1:4, 1);
y1 = d(1:4, 2);
y2 = d(1:4, 3);
% Now plot each column of data, but just the first 4 rows
plot(x, y1, '.-', 'LineWidth', 2, 'MarkerSize', 30);
hold on;
plot(x, y2, '.-', 'LineWidth', 2, 'MarkerSize', 30);
grid on
legend('y1', 'y2', 'Location', 'east');
0001 Screenshot.png

More Answers (1)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 6 Dec 2019
s=readmatrix(filename);
s(any(isnan(s),2),:)=[];
figure
plot3(s(:,1),s(:,2),s(:,3),'*-r')
  4 Comments
Walter Roberson
Walter Roberson on 7 Dec 2019
textscan() the file with 'headerlines', 4 and a format of '%f%f%f' . It will automatically stop reading when it encounters the text because the text does not match the numeric format.
Walter Roberson
Walter Roberson on 7 Dec 2019
first_line = 1000;
last_line = 2000;
fmt = '%f%f%f';
fid = fopen('mech_flu.txt');
data = cell2mat( textscan(fid, fmt, last_line - first_line + 1, 'HeaderLines', first_line - 1, 'CollectOutput', true));
fclose(fid)

Sign in to comment.

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!