Estimate the maximum value among three consecutive values in a vector

1 visualización (últimos 30 días)
Hello, I need to do some calculation on each value for each vector. For example, the vector A may contain hundreds of acceleration values:
A=[0.18, 0.01, -0.15, 0.08, .25, 0.12, ......]
I need to abtain a new vector which contains the max value of each three consecutive values of the vector like this:
B=[max(0.18,0.01,-0.15), max(0.01, -0.15,0.08), max(-0.15,0.08,0.25) ...... end=length signal(A)]
I would appreciate your help
Best

Respuesta aceptada

the cyclist
the cyclist el 17 de Jul. de 2023
A=[0.18, 0.01, -0.15, 0.08, .25, 0.12];
output = movmax(A,3)
output = 1×6
0.1800 0.1800 0.0800 0.2500 0.2500 0.2500
  2 comentarios
the cyclist
the cyclist el 17 de Jul. de 2023
Note that @Dyuman Joshi's answer illustrates that the movmax function accepts arguments that will affect how you want to handle the endpoints.

Iniciar sesión para comentar.

Más respuestas (1)

Dyuman Joshi
Dyuman Joshi el 17 de Jul. de 2023
%Random data for example
x = 1:10;
y = movmax(x,3,'Endpoints','discard')
y = 1×8
3 4 5 6 7 8 9 10

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by