MATLAB Answers

Find indexes in time-series signal

28 views (last 30 days)
JCanal
JCanal on 12 Nov 2018
Commented: KSSV on 13 Nov 2018
Hi,
Im searching for x indexes of a given y value in a time-series signal.
What function should I use since the exact y value Im looking for sometimes do not exist?

Answers (1)

KSSV
KSSV on 13 Nov 2018
Edited: KSSV on 13 Nov 2018
YOu may have a look on this example code:
% signal
x = linspace(0,2*pi)' ;
y = sin(x) ;
% Get the x index for yi
yi = randsample(y,1) ;
% Do interpolation
xi = interp1(y,x,yi) ;
% GEt the index
idx = knnsearch([x y],[xi yi]) ;
value = [xi yi]
iwant = [x(idx) y(idx)]
  1 Comment
KSSV
KSSV on 13 Nov 2018
YOu may also use this approach:
% signal
x = linspace(0,2*pi)' ;
y = sin(x) ;
% Get the x index for yi
yi = randsample(y,1) ;
% Check for abolute zero
idx = abs(y-yi)<=10^-3 ;
yi
iwant = [x(idx) y(idx)]

Sign in to comment.

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!