Borrar filtros
Borrar filtros

Determine the start and end of a vector.

20 visualizaciones (últimos 30 días)
Ferd
Ferd el 27 de Sept. de 2016
Comentada: Ferd el 28 de Sept. de 2016
When the variable starts incrementing above a threshold, that index is to be determined and also when the same variable starts decrementing below a certain threshold, the index is to be determined.
  2 comentarios
Walter Roberson
Walter Roberson el 27 de Sept. de 2016
Are the two thresholds the same value?
Ferd
Ferd el 28 de Sept. de 2016
Two different thresholds

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 28 de Sept. de 2016
Try using diff() and strfind():
% Create random sample data.
v = randi(9, 1, 20)
thresh = 3; % Define the threshold.
% Find indexes where v is at or above the threshold.
d = (v>=thresh)
% Find the starting index where the signal starts above the threshold
% and then starts to fall below the threshold.
fallsBelow = strfind(d, [1, 0])
% Find the starting index where the signal starts below the threshold
% and then starts to rise above the threshold.
risesAbove = strfind(d, [0, 1])
  2 comentarios
Walter Roberson
Walter Roberson el 28 de Sept. de 2016
This is a good approach when the thresholds are the same. Matters get more complicated when the thresholds are different. For example if you wanted to trigger at 1/4 Volt and to keep monitoring until you dropped to 0 V, then it becomes trickier.
Ferd
Ferd el 28 de Sept. de 2016
Thanks! Yeah, had just set it up with two separate thresholds, d1 and d2. Its giving the results I'm looking for!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Operators and Elementary Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by