Cel zajęć
Wprowadzenie do przedmiotu..
Przypomnienie/zapoznanie się z programami Mathematica i Matlab.
Generowanie danych „syntetycznych" o zadanych parametrach.
Wykresy funkcji i danych.
Algorytmy różniczkowania numerycznego przebiegów czasowych.
Algorytmy całkowania numerycznego przebiegów czasowych.
Zadania do wykonania
Zapoznanie się z elementarną dokumentacją systemów Mathematica i Matlab — przed zajęciami.
Przećwiczenie podanych przykładów.
Zapoznanie się z dokumentacją on-line obu systemów (w przypadku Matlaba dostępne są również programy demonstracyjne).
Przypomnienie sobie wzorów na numeryczne różniczkowanie (hint: iloraz różnicowy) i całkowanie (hint: metoda prostokątów, metoda trapezów).
Wygenerowanie „syntetycznych" zestawów danych i sprawdzenie procedur całkowania/różniczkowania.
Wygenerowanie syntetycznych zestawów danych (zaburzonych szumem o rozkładzie normalnym o średniej zero i zadanej wariancji) oraz sprawdzenie procedur całkowania/różniczkowania i zbadanie wpływu wariancji na wyniki.
Zadanie praktyczne
Wczytać dane przykładowe1 lub inne dane przykładowe.
Narysować wykres danych.
Na wykresie inteligentnie zaznaczyć okresy wzrostu i spadku mierzonej wartości (użyć do tego pochodnej?)
Uwaga: wszystkie dane są skompresowane, w formacie xz. Po kliknięciu w plik o tym rozszerzeniu powinno automatycznie uruchomić się oprogramowanie pozwalające dostać się do zawartości pliku.
Format pierwszego zestawu danych danych
Dane pochodzą z pomiarów temperatury, ciśnienia atmosferycznego, wilgotności względnej oraz jasności światła z czujnika „wystawionego za okno". Okno było od strony południowo-wschodniej więc, z oczywistych względów, dane nie mogą być traktowane jako wiarogodne. Pomiary realizowane są co pięć minut z czujnika TI CC2650 SensorTag.
Format danych (CSV)2 jest następujący:
2015-09-27 17:15:00 CEST , 1443366900 , 1.6820185584e+01
Pierwsza kolumna to czas w postaci czytelnej, druga — tak zwany unix time stamp, a trzecia to zmierzona wartość. Gdy zamiast zmierzonej wartości pojawi się NaN
oznacza to, że brakuje pomiaru. Taki punkt powinien „wypaść" z danych.
Dane pochodzą z systemu RRDtool, który dane zapisuje w specyficznych bazach danych wykorzystując format Round Robin Archives, który pozwala przechowywać najaktualniejsze dane z ostatniego okresu (na przykład doba) i skonsolidowane dane z okresów dłuższych — tydzień, miesiąc, rok. Stąd pojawiające się zestawach danych informacje typu:
--- AVERAGE 300
określają typ konsolidacji (może to być oprócz AVERAGE — MIN lub MAX) oraz okres konsolidacji (w sekundach: 300, 1800, 86400, 2678400). Dane nawet jeżeli pojawiają się częściej są uśredniane.
Przygotowałem prost program w języku awk do „rozpakowania” tego pliku danych.
Jak ,,rozpakować’’ zane z pierwszego zestawu opisałem w dziale FAQ.
Format drugiego zestawu danych
W srugim przypadku dane pochodzą z osobistej stacji pogodowej Netatmo. Pomiary robione były na zewnątrz i wewnątrz pomieszczeń. Mierzone było ciśnienie atmosferyczne (tylko wewnątrz) temperatura, poziom szumu (tylko wewnątrz) i wilgotność.
Pliki zawierają dane mierzone „dosyć gęsto", ale okres próbkowania jest niejednostajny.
W przypadku szumu, oprócz znacznika czasu (TimeStamp) jest czas podany w formie tekstowej oraz wartość mierzonego parametru. Separatorem jest średnik.
Timestamp;"Timezone : Europe/Warsaw";noise
1485903709;"2017/02/01 00:01:49";36
W przypadku innych parametrów będzie identycznie. Separatorem części ułamkowej (jeżeli występuje) jest kropka.