Analizowanie danych Katarzyna Grzelak listopad 2014 K.Grzelak (IFD UW) 1 / 24
Wprowadzenie Programy do opracowywania danych doświadczalnych (rysowanie funkcji, punktów z błędami, dopasowywanie zależności funkcyjnych do danych... ): gnuplot darmowy, dostępny dla systemów operacyjnych Linux (zwykle w standardowej dystrybucji!) i Windows polecenia wpisywane jak w terminalu lub zapisywane w pliku-skrypcie (!) niewyszukana grafika w OKWF ie uruchamiany z terminala poleceniem gnuplot strona www http://www.gnuplot.info/ K.Grzelak (IFD UW) 2 / 24
Wprowadzenie Programy do opracowywania danych doświadczalnych (rysowanie funkcji, punktów z błędami, dopasowywanie zależności funkcyjnych do danych... ): qtiplot na Linux ie bardzo prosty w instalacji (gotowa wersja egzekucyjna, nie trzeba instalować dodatkowych bibliotek), Windows - wersja demo, pełna wersja płatna graficzne środowisko, łatwe w użyciu w OKWF ie uruchamiany z terminala poleceniem qtiplot (uruchamianie z menu - aktualnie starsza wersja) strona www http://www.qtiplot.com/ darmowa alternatywa dla programów typu Origin Origin komercyjny program, licencja (Windows) Wydziału Fizyki dla studentów WF, licencja MISMaP dla studentów MISMaP... K.Grzelak (IFD UW) 3 / 24
qtiplot - wprowadzenie qtiplot uruchamianie z terminala poleceniem qtiplot otwiera się sesja graficzna Nowe zadanie File New New Project albo skrót Ctrl+N rysunki można modyfikować klikajac prawym klawiszem na poszczególne elementy albo używajac odpowiedniego menu albo dwukrotnie klikajac na rysunek K.Grzelak (IFD UW) 4 / 24
qtiplot - rysowanie funkcji Rysowanie funkcji: File New New Function Plot albo skrót Ctrl+F Program oblicza wartość funkcji w tylu punktach ile wpiszemy jako wartość Points Dodawanie kolejnej funkcji do rysunku: Graph Add Function albo Ctrl+Alt+F Legenda: Graph New Legend albo Ctrl+L K.Grzelak (IFD UW) 5 / 24
qtiplot - rysowanie kilku rysunków obok siebie Najprościej: Zaznaczenie kolumn do rysowania lewym klawiszem myszy pojawia się menu do rysowania: Plot Panel... Druga wersja: Graph Add Layer (kliknięcie Guess spowoduje dodanie drugiego rysunku obok pierwszego) Wybranie pustego rysunku i Graph Add/Remove Curve pozwala wybrać tabelę z danymi do narysowania K.Grzelak (IFD UW) 6 / 24
qtiplot - wczytywanie danych z pliku Tworzenie nowej tablicy do wpisywania danych: File New New Table albo skrót Ctrl+T Wczytywanie danych z pliku do tabeli: File Import Import Ascii albo skrót Ctrl+K (Simplify white spaces) Zaznaczenie kolumn do rysowania lewym klawiszem myszy pojawia się menu do rysowania: Plot Line,Plot Scatter, ldots pozycje kolumn w tabelce można zamieniać klikajac na nagłówek kolumny i przesuwajac go Dodawanie błędów: Graph Add Error Bars albo skrót Ctrl+B K.Grzelak (IFD UW) 7 / 24
Dopasowywania zależności funkcyjnych do danych Metoda najmniejszych kwadratów: Poszukiwanie wartości parametrów a 1,..., a l, które minimalizuja wyrażenie: n X 2 [y i f (x; a 1,..., a l )] 2 = f - dopasowywana funkcja y i - wynik pomiaru σ i - bład pomiaru y i i=1 σ 2 i Jakość dopasowania: χ 2 /liczba_stopni_swobody K.Grzelak (IFD UW) 8 / 24
qtiplot - dopasowywanie funkcji do danych Analyze Fit Wizard albo skrót Ctrl+Y Dopasowywanie predefiniowanej funkcji: Built-in, Fit using built-in function Dopasowywanie własnej funkcji: User defined operatory: aˆb (potęgowanie), a*b (mnożenie), a/b (dzielenie, a-b, a+b... przy definicji własnych funkcji można korzystać z funkcji z menu Basic: abs(x), sin(x), cos(x), tan(x), exp(x),sqrt(x)... Użycie niepewności pomiarowych Weighting Arbitrary Dataset Wybieramy odpowiednia tabelę i odpowiednia kolumnę K.Grzelak (IFD UW) 9 / 24
qtiplot - dopasowywanie funkcji do danych Kolejne kroki: 1 nowy projekt 2 wczytywanie danych ( z pliku (Import) lub ręczne wpisywanie do tabelki ) 3 rysowanie (Plot Scatter) 4 dodanie błędów na rysunku (Add) 5 zmiana opisu osi, modyfikacja legendy... 6 Analyze Fit Wizard albo skrót Ctrl+Y 7 definicja własnej funkcji (lub wybranie którejś z poczatkowo zdefiniowanych); postać własnej funkcji można zapisać 8 ustawienie poczatkowych wartości parametrów 9 użycie niepewności pomiarowych: Weighting Arbitrary Dataset wybieramy odpowiednia tabelę i odpowiednia kolumnę 10 Fit 11 Sprawdzenie jakości dopasowania! (Chiˆ2/doF... ) K.Grzelak (IFD UW) 10 / 24
qtiplot - zapisywanie wyników Zapisywanie wyników 1 zapisanie rysunku Export (Export Layer to zapisywanie jednego rysunku, ważne jeśli w oknie jest więcej niż jeden rysunek) 2 dużo możliwych formatów zapisu rysunku: (pdf, png, jpg, tex) (przy wstawianiu rysunku do latex a trzeba dodać pakiet tikz) 3 zapisanie projektu: File Save Project albo skrót Ctrl+S K.Grzelak (IFD UW) 11 / 24
Polecenia programu gnuplot Polecenia sa wprowadzane interakcyjnie albo zapisywane w pliku-skrypcie uruchamianie: gnuplot gnuplot> load skrypt.gp gnuplot -persist skrypt.gp Rozróżniane sa wielkie i małe litery Wszystkie nazwy poleceń można skrócić (tak długo jak skrót polecenia jest jednoznaczny) Opcje poleceń musza być podawane w określonej kolejności K.Grzelak (IFD UW) 12 / 24
gnuplot -zapisywanie napisów i liczb Napisy zapisywane sa w pojedynczych lub podwójnych apostrofach: dane.dat Liczby całkowite: 1, 15 Liczby rzeczywiste: 1.,15.,1E0,1.5E1,5E-1 Uwaga na wynik dzielenia liczb całkowitych, np. 1/2 = 0 K.Grzelak (IFD UW) 13 / 24
gnuplot - funkcje, operatory Zdefiniowane funkcje: abs(x), sin(x), cos(x), tan(x), exp(x),sqrt(x)... Własne definicje funkcji, np.: a(x b) 2 f(x)=a*(x-b)**2 Operatory: a**b (potęgowanie), a*b (mnożenie), a/b (dzielenie, a-b, a+b... K.Grzelak (IFD UW) 14 / 24
gnuplot - rysowanie funkcji plot sin(x) set samples 10 plot sin(x) lub replot Program oblicza wartość funkcji w tylu punktach ile ustawimy poleceniem set samples Powrót do domyślnych ustawień: reset a=5;b=6 h(x)=a*x+b plot h(x) g(x)=cos(a*x) plot a=0.2,g(x),a=0.4, g(x) K.Grzelak (IFD UW) 15 / 24
gnuplot - rysowanie funkcji skala logarytmiczna: plot exp(-x) set logscale y replot dwa rysunki na jednym: plot sin(x),cos(x) K.Grzelak (IFD UW) 16 / 24
gnuplot - rysowanie funkcji plot sin(x) with points plot sin(x) with boxes plot sin(x) with lines plot sin(x) with impulses plot [-3.14:3.14] sin(x) K.Grzelak (IFD UW) 17 / 24
gnuplot - rysowanie funkcji, postać parametryczna Przykład. Krzywa zdefiniowana w następujacy sposób: { x = 5 cos t y = 2 sin t set parametric set xrange [-6:6] set yrange [-6:6] set trange [0:10] set isosamples 60 plot 5*cos(t),2*sin(t) K.Grzelak (IFD UW) 18 / 24
gnuplot - rysowanie funkcji w 3D splot sin(x*y) set hidden3d set isosamples 30,30 replot set xrange[-3:3] set yrange[-3:3] set zrange[-2:5] set parametric splot 2*u,u**2+v,v**2 K.Grzelak (IFD UW) 19 / 24
gnuplot - dane z błędami i bez plot dane.dat plot dane.dat with errorbars plot dane.dat with xyerrorbars plot dane.dat using 1:2:3 w ye plot dane.dat using 2:1:3 w xe plot dane1.dat u ($1+$4):5 with lines, dane2.dat u ($1+$4):($15-$17) w l axes x1y2 plot dane1.dat u ($1+$4):5 with lines title Dane1, dane2.dat u ($1+$4):($15-$17) w l axes x1y2 title Dane2 (zmiana legendy) K.Grzelak (IFD UW) 20 / 24
gnuplot - opcje dla jednego i dwóch rysunków set title Beams set xlabel Energy [GeV] set ylabel p1[gev] set y2label p1[gev] set y2tics set ytics nomirror set tics out set key unset key lub set nokey replot K.Grzelak (IFD UW) 21 / 24
gnuplot - zapisywanie do pliku set output sin.eps set terminal postscript eps color plot sin(x) lub replot set output set terminal X11 Także set terminal latex i inne W Linux ie epstopdf sin.eps K.Grzelak (IFD UW) 22 / 24
gnuplot - dopasowywanie krzywych Dopasowywanie zależności funkcyjnych do danych doświadczalnych. Kolejne etapy: Definicja funkcji np. ft(x)=a*x**2+b*x+c Definiowanie poczatkowych wartości parametrów (tak aby funkcja możliwie najlepiej opisywała dane) np. a=15; b=2.5; c=1.5 Sprawdzenie jak dobrze te parametry zostały wybrane np. plot dane.dat w e, ft(x) Dopasowanie (uwaga - przy opcji using musza byc zdefiniowane dokładnie (!) 3 kolumny, trzecia kolumna to błedy y) np. fit ft(x) dane.dat using 1:2:3 via a,b,c Sprawdzenie jakości dopasowania: Wizualne np. plot dane.dat w e, ft(x) Sprawdzenie czy χ 2 /liczba_stopni_swobody jest bliskie 1 K.Grzelak (IFD UW) 23 / 24
gnuplot - zmiana warunków końca iteracji Przykłady zmian warunków na zakończenie poszukiwania minimum wyliczanej funkcji: FIT_LIMIT = 1e-6 FIT_MAXITER = 50 K.Grzelak (IFD UW) 24 / 24