MC, 13:07 niedziela, 22.04.2012 r.
Ilustracja do artykułu: GNUplot: część 17. - Wygładzanie wykresów

GNUplot: część 17. - Wygładzanie wykresów

W tej części poradnika postaram się pokazać jak możemy w programie GNUplot wygładzać wykresy powstałe z danych pomiarowych.

Jakie mamy możliwości?

Mamy do dyspozycji trzy metody wygładzenia wykresu spośród których możemy wybrać tę najbardziej odpowiadającą naszym potrzebom. Te metody to bezier (krzywa Beziera), csplines oraz acsplines. Co je cechuje?
  • bezier - aproksymuje linię trendu dla danych punktów
  • csplines - interpoluje funkcję między danymi punktami oraz przechodzi przez nie
  • acsplines - aproksymuje dane z wagą dla każdego z punktów

Najprościej oczywiście będzie pokazać różnice między nimi na konkretnym przykładzie, ale to za chwilkę.

Jak użyć tych metod?

Wygładzanie funkcji jest niezwykle proste. Do funkcji plot wystarczy dołączyć smooth <metoda wygładzenia>, np.
plot "dane" smooth bezier;

Może nieco konkretniejszy przykład?

Żeby dokładniej zobrazować różnicę pomiędzy metodami wygładzania, proponuję stworzyć plik dane.txt zawierający poniższą treść:
1	1.1	1
2	1.8	1
3	1.5	1
4	3.2	1
5	3.5	1
6	2	1

Wydajmy więc w GNUplocie poniższe polecenie:

# wersja do wklejenia do programu
plot [][1:5]"dane.txt" with points t "Dane", "dane.txt" smooth bezier t "Krzywa Beziera", "dane.txt" smooth csplines t "csplines", "dane.txt" using smooth acsplines t "acsplines"

# wersja do skryptu (czytelniejsza)
plot [][1:5]"dane.txt" with points t "Dane",\
"dane.txt" smooth bezier t "Krzywa Beziera",\
"dane.txt" smooth csplines t "csplines",\
"dane.txt" using smooth acsplines t "acsplines"

GNUplot - wygładzanie

W naszym pliku z danymi dopisaliśmy trzecią kolumnę zawierającą same jedynki. Po co? Tak jak wspomniałem, metoda acsplines aproksymuje dane z wagami dla każdego punktu i ta trzecia kolumna to właśnie są wagi, w naszym przypadku - jednakowe dla wszystkich punktów.

Zachęcam do po próbowania sobie tych różnych metod, w różnych przypadkach, aby lepiej poczuć różnicę między nimi i umiejętniej dobierać stosowną metodę do danego przypadku.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: