Extracting data from the original data set

I have a data file named roof-disp.out 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.

 采纳的回答

Once again, the easiest way is to interpolate it:
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
rd_new = [ti' Di]; % Complete Interpolated ‘rd’ Matrix

3 个评论

please I am unable to do for .out file that I have uploaded file named roof-disp.zip Please help me on this file
something is wrong.. in a original data for time 0.02 the corresponding distance is -0.00864 (for your reference I only compare last column distance data) but for rd_new data for time 0.02 the corresponding distance was -0.0017 ( last column data). So something is wrong
I’d forgotten you were starting at 0.02 rather than 0.00.
This works:
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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by