how to extract data from ascii file?

13 views (last 30 days)
Rakesh Roshan
Rakesh Roshan on 25 May 2022
Commented: Voss on 25 May 2022
i have been given ascii file ..
how to read data from it and plot the graphs
in this file around 2000 data is present ...and i need only 1001 data in such a way that i don't lose the entire data only some of them.
for example from freq=8-12GHz there are data like
freq parameter
8 -0.00000003
8.001 -0.2233652
8.002 -2.0000012
;
;
10.222 -2.22333
;
;
12 -2.0001123
so basically from 8-12 GHz all the data but losing very few data
2018a version
  2 Comments
Rakesh Roshan
Rakesh Roshan on 25 May 2022
i have uploaded the data sir

Sign in to comment.

Answers (1)

Voss
Voss on 25 May 2022
data = readmatrix('qwer.txt')
data = 31×2
8.0000 0.0003 8.0100 0.0003 8.0200 0.0003 8.0300 0.0003 8.0400 0.0004 8.0500 0.0004 8.0600 0.0004 8.0700 0.0004 8.0800 0.0006 8.0900 0.0008
plot(data(:,1),data(:,2),'.-')
"in this file around 2000 data is present ...and i need only 1001 data"
data = data(1:2:end,:) % keep rows 1, 3, 5, ...
data = 16×2
8.0000 0.0003 8.0200 0.0003 8.0400 0.0004 8.0600 0.0004 8.0800 0.0006 9.0000 0.0009 9.0200 0.0001 9.0400 0.0006 9.0600 0.0004 9.8000 0.0045
hold on
plot(data(:,1),data(:,2),'or')
  3 Comments
Voss
Voss on 25 May 2022
For instance, you might store Freq and Sparamters from the files in separate fields in the struct array returned from dir:
files = dir('*.txt');
disp({files.name});
{'qwer.txt'} {'qwer2.txt'} {'qwer3.txt'}
files = files(1:2:end); % just keep every other file: files(1), files(3), ...
disp({files.name});
{'qwer.txt'} {'qwer3.txt'}
for ii = 1:numel(files)
temp = readmatrix(files(ii).name);
files(ii).xdata = temp(:,1);
files(ii).ydata = temp(:,2);
end
plot_args = [{files.xdata}; {files.ydata}];
plot(plot_args{:});

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!