# How to segment/timestamp time series data based on GMT unix epoch values

조회 수: 7(최근 30일)
Mona Elsayed 2020년 10월 14일
답변: Prudhvi Peddagoni 2020년 10월 19일
I have an Nx2 matrix where N=size of the time series where the values in column one are GMT unix epoch microseconds and the second column are data values such as voltage from an ECG sensor
For example:
Time (microseconds) Data (mv)
1) 1.58187589357166e+15 0.0149830624856947
2) 1.58187589357565e+15 0.0226207624424608
3) 1.58187589357965e+15 0.0127982248671193
4) 1.58187589358365e+15 0.00203405305053278
...
Is there a way I can segment the data (column 2) based on start and stop time values?
Say I want a numeric matrix of the data between 2) 1.58187589357565e+15 and 4) 1.58187589358365e+15, how would I create that (without necissarily knowing the indices since these are really large time series and it is difficult to manually search for the corresponding time values)?
I would use the sampling frequency to manually segment the data but I just learned from the manufacturer that this is not an accurate technique for my data

댓글을 달려면 로그인하십시오.

### 답변(1개)

Prudhvi Peddagoni 2020년 10월 19일
Hi,
let
A= [ 1 10;
2 20;
3 30;
4 40;]
if you want to select data values(2nd column) for time which lies between 1 and 4 in the first column, you can do this:
index1= A(:,1)>1; %gives indexes of all time values with value greater than 1
index2=A(:,1)<4; %gives indexes of all time values with value less than 4
index=index1 & index2 % gives indexes off all time values that lie between 1 and 4
values=A(index, 2) % gives the required data values
% or you can do this in a single line like this
values= A(A(:,1)>1 & A(:,1)<4,2);
Hope this helps.

댓글을 달려면 로그인하십시오.

### 범주

Find more on Resizing and Reshaping Matrices 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!