Extracting a particular data from the original data
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
sam moor
am 14 Nov. 2016
Bearbeitet: Star Strider
am 14 Nov. 2016
I have a data file named rd.txt attached below. 1st column data refers to time and all other columns refers the corresponding distance. Now I want to extract the data for 0.02,0.04,0.06,...60.00 sec (at a difference of 0.02) from 1st column and corresponding distances. Is there a way to extract data from the original data for a particular values? Your answer is highly appreciated. Thank you.
0 Kommentare
Akzeptierte Antwort
Star Strider
am 14 Nov. 2016
You may not be reading your data correctly.
This works for me without error:
fidi = fopen('sam moor rd.txt','rt');
Dcell = textscan(fidi, repmat('%f',1,9), 'CollectOutput',1, 'Delimiter',' ');
D = cell2mat(Dcell);
L = size(D,1);
t = D(:,1);
q = length(t > 0)/L;
ti = 0 : 0.02 : max(t); % Interpolation Vector
Di = interp1(t, D(:,2:end), ti, 'linear'); % Interpolated Data
2 Kommentare
Star Strider
am 14 Nov. 2016
Bearbeitet: Star Strider
am 14 Nov. 2016
I eliminated the first column from the ‘Di’ matrix, because that is the time vector to use for the interpolation.
Adding the ‘rd_new’ assignment will give you the complete, interpolated ‘rd’ matrix:
fidi = fopen('sam moor rd.txt','rt');
Dcell = textscan(fidi, repmat('%f',1,9), 'CollectOutput',1, 'Delimiter',' ');
D = cell2mat(Dcell);
L = size(D,1);
t = D(:,1);
ti = 0.02 : 0.02 : max(t); % Interpolation Vector
Di = interp1(t, D(:,2:end), ti, 'linear'); % Interpolated Data
rd_new = [ti' Di]; % Complete Interpolated ‘rd’ Matrix
EDIT — Corrected to begin ‘ti’ at 0.02 rather than 0.00.
Weitere Antworten (1)
Image Analyst
am 14 Nov. 2016
I suggest you read the the FAQ on comparing floating point numbers and then use that or try a new function called ismembertol() to find out which rows match your desired times. One might think intersect() might work but because of the FAQ I referred you to, I have my doubts.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!