Estoy haciendo un análisis de video.
La matriz resultado final que se ve es algo así como:Cómo extraer y trazar solo los picos mínimos y máximos de una matriz, -análisis de gráficos- Con Matlab o excel
signal =
Columns 1 through 7
73960 73960 73960 73960 68102 68102 68102
Columns 8 through 14
68102 19187 19187 19187 19187 14664 14664
Columns 15 through 21
14664 14664 13715 13715 13715 13715 30832
Columns 22 through 28
30832 30832 30832 53031 53031 53031 53031
Columns 29 through 35
56897 56897 56897 16104 16104 16104 16104
Columns 36 through 42
15188 15188 15188 15188 13973 13973 13973
Nota: array real que se ve es por lo general de 600
Así que cuando sus parcelas, me siento muy mal aspecto gráfico, así que quiero filtrar esta matriz y solo mantiene los ** máximos y máximos ** máximos y mínimos locales para que el gráfico tenga ondas más bonitas
¿Hay alguna manera de hacerlo con MATLAB?
si no, ¿puedo hacerlo con Excel? ya que normalmente guardar esta matriz para sobresalir hoja gusta esta
0.1 68102
0.15 19187
0.2 14664
0.25 13715
0.3 30832
0.35 53031
0.4 56897
0.45 16104
0.5 15188
0.55 13973
0.6 21437
0.65 66950
0.7 65356
0.75 22562
0.8 14154
0.85 13938
0.9 20692
0.95 72823
1 69975
1.05 15328
1.1 14494
1.15 13681
1.2 14205
1.25 65278
1.3 63055
1.35 16999
1.4 14050
1.45 14245
En el que la primera columna es el tiempo (eje y) y segunda columna es la amplitud. (Eje x)
utilizo esta fórmula para contar máximos locales (Gracias a brettdj de stackoverflow.com)
=SUMPRODUCT(--(B2:B149>B1:B148),--(B2:B149>B3:B150))
Y esta fórmula para contar mínimos locales
=SUMPRODUCT(--(B2:B149<B1:B148),--(B2:B149<B3:B150))
Pero lo que necesito es filtrar la matriz para mantener solo los máximos locales y los mínimos locales, de modo que pueda obtener una curva dibujada sin ruido.
no quiero valor mínimo y máximo en la matriz, quiero el máximo local de la curva y el máximo (el pico de la curva) pico de la curva cuando lo trazas en un gráfico quiero decir – Zalaboza
El pico se define si es más que el valor anterior y después (el) – Zalaboza