Laboratorium 9: Ruchoma średnia

Zadanie

Wyobraźmy sobie że mamy zestaw danych (pochodzących z jakichś pomarów). Są one lekko zaszumione. Naszym zadaniem jest zastosowane metody ruchomej średniej aby je wygładzić.

Na potrzby tego zadania trzeba będzie:

  • na podstawie zadanej liczby N (długość seri danych)

  • wygenerować N wartości zmennoprzecinkowych

  • a następnie „wygładzić dane" stosując metodę ruchomej średniej o m składnikach.

Trzeba też zadać w odpowiedni sposób wartość m.

Następnie program dokonuje odpowiednich przeliczeń i wyprowadza na ekran dwie kolumny liczb: dane oryginalne i dane przetworzone.

Ruchoma średnia

Niech wi,i=0,1,,N11. Ruchoma średnia to metoda wygładzania danych polegająca na wyliczeniu na podstawie danych z tablicy w nowej tablicy t w sposób następujący:

ti=1mj=(m1)/2j=(m1)/2wi+j

Wartość m przyjmowana jest jako liczba nieparzysta (3, 5, 7,…)2.

Zdecydować trzeba, co robimy z elementami tablicy, dla których nie można3 wyliczyć pełnej średniej. Można wybrać jeden z dwu wariantów:

  1. Przepisujemy je bez zmian;

  2. Wyliczamy taką średnią jaką się da wyliczyć.

To znaczy gdy m=5, j zmienia się w zakresie od -2 do 2 (włącznie), zatem niedostępne są elementy w1 i w2 potrzebne do wyliczenia t0. Czyli albo:

  1. przepisujemy bez zmian t0w0 i t1w1, kolejne elementy liczymy zgodnie z wzorem. Podobnie na drugim końcu tablicy.

  2. Wyliczamy to „co się da":

    t0=13(w0+w1+w2)

    t1=14(w0+w1+w2+w3)

    (a t2 już „normalnie": t2=15(w0+w1+w2+w3+w4)). I podobnie na końcu tablicy.


  1. Zwracam uwagę, że w opisie dane numerowane są od 0, podobnie jak w przypadku języka C (gdzie indeksy tablicy rozpoczynają się od zera). ↩︎

  2. Czemu? ↩︎

  3. Pierwsze i ostatnie elemanty tablicy. ↩︎

Poprzedni
Następny