Determine the start and end of a vector.
20 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
Respuesta aceptada
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
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.
Más respuestas (0)
Ver también
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!