Sto facendo analisi video.
L'array risultato finale che ottengo è qualcosa di simile:Come estrarre e tracciare solo i picchi minimi e massimi di un array, -graph analysis- 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: effettivo allineamento che ottengo è di solito 600+
Così, quando ho tracciare questo mi sento molto male grafico guardando, quindi voglio filtrare questo array e mantiene solo i picchi ** minimi e minimi ** massimi e minimi locali in modo che il grafico abbia onde più piacevoli
C'è un modo per farlo con MATLAB?
se no, allora posso farlo con Excel? come di solito salvare questa matrice per foglio Excel come non
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
In cui la colonna 1 è il tempo (asse y) e 2a colonna è l'ampiezza. (Asse x)
uso questa formula per contare massimi locali (Grazie a brettdj da stackoverflow.com)
=SUMPRODUCT(--(B2:B149>B1:B148),--(B2:B149>B3:B150))
E questa formula per contare minimi locali
=SUMPRODUCT(--(B2:B149<B1:B148),--(B2:B149<B3:B150))
Ma quello di cui ho bisogno è filtrare l'array per mantenere solo i massimi locali ei minimi locali in modo da ottenere curve ben disegnate senza rumore.
non voglio il valore minimo e massimo nell'array, voglio il minimo locale e il massimo (il picco della curva) picco di curva quando lo si traccia su un grafico intendo – Zalaboza
Il picco è definito se è Più del valore precedente e dopo (il) – Zalaboza