Potřebné: vrcholků a údolí, algoritmus

J

JimTex

Guest
Hledám spolehlivou algroithm pro nalezení a charakterizování a dolní maxima v časových řad. Můj čas řada je poměrně krátká (500-1000 bodů) a hlavní vrcholy a žlaby se neopakovaly. Viz přiložený obrázek. Díky Jim
 
Je-li vzorek menší než předchozí vzorek a také menší než následující ukázce, pak je vzorek je koryto. Podobná logika může být tvořen najít vrcholy.
 
Musíte dolní dat, jinak budete mít příliš mnoho falešných žlaby Zde je příklad skriptu hodil jsem dohromady: [size = 2] [color = # 999999] Přidáno po 8 sekund: [/color] [/size]% Vytvořit signál, který vypadá trochu jako je ta vaše t = 1:1000, noise = randn (1, délka (signál)), signál = 10 * sin (0.02 * t) + 4 * sin (0.05 * t) + hluk% Výstupní vektor nuly výstup = (1, délka (signál)), Dolní propust% signál, jak se zbavit vysokých frekvencí obsahu. Všimněte si, že% filtfilt zabrání ovlivnění signálu. Přesné hodnoty filtru% byl vylepšen, dokud se podíval doprava [ba] = máslo (4, 0.05), lowpass_signal = (filtfilt (B, A, signál)), plot (t, signální, t, lowpass_signal), hlava ("Srovnání signály"), legenda ("původní", "Filtrovaný ');% Najděte rychlost změny filtrovaného signálu svahu = rozdíl (lowpass_signal) Minimální%:% Zero svahu, méně než okolní hodnoty% Plug -1 do výstupního vektoru na tomto místě Peak%:% Zero sklon větší než okolní hodnoty% Plug -1 do výstupního vektoru na tomto místě pro i = 1: (délka (signál) -6) if (abs (sklon (i))
 

Welcome to EDABoard.com

Sponsor

Back
Top