gnuplot i qtiplot

  • View
    215

  • Download
    1

Embed Size (px)

Text of gnuplot i qtiplot

  • Analizowanie danych

    Katarzyna Grzelak

    listopad 2014

    K.Grzelak (IFD UW) 1 / 24

  • Wprowadzenie

    Programy do opracowywania danych doswiadczalnych (rysowaniefunkcji, punktw z bedami, dopasowywanie zaleznosci funkcyjnych dodanych . . . ):

    gnuplotdarmowy, dostepny dla systemw operacyjnych Linux (zwykle wstandardowej dystrybucji !) i Windowspolecenia wpisywane jak w terminalu lub zapisywane wpliku-skrypcie (!)niewyszukana grafikaw OKWFie uruchamiany z terminala poleceniem gnuplotstrona www http://www.gnuplot.info/

    K.Grzelak (IFD UW) 2 / 24

  • Wprowadzenie

    Programy do opracowywania danych doswiadczalnych (rysowaniefunkcji, punktw z bedami, dopasowywanie zaleznosci funkcyjnych dodanych . . . ):

    qtiplotna Linuxie bardzo prosty w instalacji (gotowa wersja egzekucyjna,nie trzeba instalowac dodatkowych bibliotek), Windows - wersjademo, pena wersja patnagraficzne srodowisko, atwe w uzyciuw OKWFie uruchamiany z terminala poleceniem qtiplot(uruchamianie z menu - aktualnie starsza wersja)strona www http://www.qtiplot.com/darmowa alternatywa dla programw typu Origin

    Originkomercyjny program, licencja (Windows) Wydziau Fizyki dlastudentw WF, licencja MISMaP dla studentw MISMaP

    . . .

    K.Grzelak (IFD UW) 3 / 24

  • qtiplot - wprowadzenie

    qtiploturuchamianie z terminala poleceniem qtiplot otwiera siesesja graficznaNowe zadanieFile New New Project albo skrt Ctrl+Nrysunki mozna modyfikowac klikajac prawym klawiszem naposzczeglne elementy albo uzywajac odpowiedniego menu albodwukrotnie klikajac na rysunek

    K.Grzelak (IFD UW) 4 / 24

  • qtiplot - rysowanie funkcji

    Rysowanie funkcji: File New New Function Plotalbo skrt Ctrl+FProgram oblicza wartosc funkcji w tylu punktach ile wpiszemy jakowartosc PointsDodawanie kolejnej funkcji do rysunku: Graph AddFunction albo Ctrl+Alt+FLegenda: Graph New Legend albo Ctrl+L

    K.Grzelak (IFD UW) 5 / 24

  • qtiplot - rysowanie kilku rysunkw obok siebie

    Najprosciej: Zaznaczenie kolumn do rysowania lewym klawiszemmyszy pojawia sie menu do rysowania: Plot Panel . . .Druga wersja: Graph Add Layer (klikniecie Guessspowoduje dodanie drugiego rysunku obok pierwszego)Wybranie pustego rysunku i Graph Add/Remove Curvepozwala wybrac tabele 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 skrt Ctrl+TWczytywanie danych z pliku do tabeli:File Import Import Ascii albo skrt Ctrl+K(Simplify white spaces)Zaznaczenie kolumn do rysowania lewym klawiszem myszypojawia sie menu do rysowania: Plot Line,Plot Scatter, ldotspozycje kolumn w tabelce mozna zamieniac klikajac na nagwekkolumny i przesuwajac goDodawanie bedw:Graph Add Error Bars albo skrt Ctrl+B

    K.Grzelak (IFD UW) 7 / 24

  • Dopasowywania zaleznosci funkcyjnych do danych

    Metoda najmniejszych kwadratw:Poszukiwanie wartosci parametrw a1, . . . ,al , ktre minimalizujawyrazenie:

    X 2 =n

    i=1

    [yi f (x ;a1, . . . ,al)]2

    2i

    f - dopasowywana funkcjayi - wynik pomiarui - bad pomiaru yi

    Jakosc dopasowania: 2/liczba_stopni_swobody

    K.Grzelak (IFD UW) 8 / 24

  • qtiplot - dopasowywanie funkcji do danych

    Analyze Fit Wizard albo skrt Ctrl+YDopasowywanie predefiniowanej funkcji:Built-in, Fit using built-in functionDopasowywanie wasnej funkcji:User defined

    operatory: ab (potegowanie), a*b (mnozenie), a/b (dzielenie, a-b,a+b . . .przy definicji wasnych funkcji mozna korzystac z funkcji z menuBasic: abs(x), sin(x), cos(x), tan(x),exp(x),sqrt(x) ...

    Uzycie niepewnosci pomiarowych Weighting Arbitrary DatasetWybieramy odpowiednia tabele iodpowiednia kolumne

    K.Grzelak (IFD UW) 9 / 24

  • qtiplot - dopasowywanie funkcji do danychKolejne kroki:

    1 nowy projekt2 wczytywanie danych ( z pliku (Import) lub reczne wpisywanie do

    tabelki )3 rysowanie (Plot Scatter)4 dodanie bedw na rysunku (Add)5 zmiana opisu osi, modyfikacja legendy . . .6 Analyze Fit Wizard albo skrt Ctrl+Y7 definicja wasnej funkcji (lub wybranie ktrejs z poczatkowo

    zdefiniowanych); postac wasnej funkcji mozna zapisac8 ustawienie poczatkowych wartosci parametrw9 uzycie niepewnosci pomiarowych: Weighting Arbitrary

    Dataset wybieramy odpowiednia tabele i odpowiednia kolumne10 Fit

    11 Sprawdzenie jakosci dopasowania ! (Chi2/doF . . . )

    K.Grzelak (IFD UW) 10 / 24

  • qtiplot - zapisywanie wynikw

    Zapisywanie wynikw

    1 zapisanie rysunku Export (Export Layer to zapisywanie jednegorysunku, wazne jesli w oknie jest wiecej niz jeden rysunek)

    2 duzo mozliwych formatw zapisu rysunku: (pdf, png, jpg, tex)(przy wstawianiu rysunku do latexa trzeba dodac pakiet tikz)

    3 zapisanie projektu: File Save Project albo skrt Ctrl+S

    K.Grzelak (IFD UW) 11 / 24

  • Polecenia programu gnuplot

    Polecenia sa wprowadzane interakcyjnie albo zapisywane wpliku-skrypcieuruchamianie: gnuplotgnuplot> load skrypt.gp

    gnuplot -persist skrypt.gp

    Rozrzniane sa wielkie i mae literyWszystkie nazwy polecen mozna skrcic (tak dugo jak skrtpolecenia jest jednoznaczny)Opcje polecen musza byc podawane w okreslonej kolejnosci

    K.Grzelak (IFD UW) 12 / 24

  • gnuplot -zapisywanie napisw i liczb

    Napisy zapisywane sa w pojedynczych lub podwjnychapostrofach: dane.datLiczby cakowite: 1, 15Liczby rzeczywiste: 1.,15.,1E0,1.5E1,5E-1Uwaga na wynik dzielenia liczb cakowitych, 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)...

    Wasne definicje funkcji, np.: a(x b)2f(x)=a*(x-b)**2

    Operatory: a**b (potegowanie), a*b (mnozenie), a/b (dzielenie,a-b, a+b . . .

    K.Grzelak (IFD UW) 14 / 24

  • gnuplot - rysowanie funkcji

    plot sin(x)set samples 10plot sin(x) lub replotProgram oblicza wartosc funkcji w tylu punktach ile ustawimypoleceniem set samplesPowrt do domyslnych ustawien: reseta=5;b=6h(x)=a*x+bplot 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 yreplot

    dwa rysunki na jednym:plot sin(x),cos(x)

    K.Grzelak (IFD UW) 16 / 24

  • gnuplot - rysowanie funkcji

    plot sin(x) with pointsplot sin(x) with boxesplot sin(x) with linesplot sin(x) with impulsesplot [-3.14:3.14] sin(x)

    K.Grzelak (IFD UW) 17 / 24

  • gnuplot - rysowanie funkcji, postac parametryczna

    Przykad. Krzywa zdefiniowana w nastepujacy sposb:{x = 5 cos ty = 2 sin t

    set parametricset xrange [-6:6]set yrange [-6:6]set trange [0:10]set isosamples 60plot 5*cos(t),2*sin(t)

    K.Grzelak (IFD UW) 18 / 24

  • gnuplot - rysowanie funkcji w 3D

    splot sin(x*y)set hidden3dset isosamples 30,30replotset xrange[-3:3]set yrange[-3:3]set zrange[-2:5]

    set parametricsplot 2*u,u**2+v,v**2

    K.Grzelak (IFD UW) 19 / 24

  • gnuplot - dane z bedami 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 titleDane1, dane2.dat u ($1+$4):($15-$17) w laxes x1y2 title Dane2 (zmiana legendy)

    K.Grzelak (IFD UW) 20 / 24

  • gnuplot - opcje dla jednego i dwch rysunkw

    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 nokeyreplot

    K.Grzelak (IFD UW) 21 / 24

  • gnuplot - zapisywanie do pliku

    set output sin.eps

    set terminal postscript eps color

    plot sin(x) lub replotset output

    set terminal X11

    Takze set terminal latex i inneW Linuxie epstopdf sin.eps

    K.Grzelak (IFD UW) 22 / 24

  • gnuplot - dopasowywanie krzywych

    Dopasowywanie zaleznosci funkcyjnych do danych doswiadczalnych.Kolejne etapy:

    Definicja funkcjinp. ft(x)=a*x**2+b*x+cDefiniowanie poczatkowych wartosci parametrw (tak aby funkcjamozliwie najlepiej opisywaa dane)np. a=15; b=2.5; c=1.5Sprawdzenie jak dobrze te parametry zostay wybranenp. plot dane.dat w e, ft(x)Dopasowanie (uwaga - przy opcji using musza byc zdefiniowanedokadnie (!) 3 kolumny, trzecia kolumna to bedy y)np. fit ft(x) dane.dat using 1:2:3 via a,b,cSprawdzenie jakosci dopasowania:

    Wizualnenp. plot dane.dat w e, ft(x)Sprawdzenie czy 2/liczba_stopni_swobody jest bliskie 1

    K.Grzelak (IFD UW) 23 / 24

  • gnuplot - zmiana warunkw konca iteracji

    Przykady zmian warunkw na zakonczenie poszukiwania minimumwyliczanej funkcji:

    FIT_LIMIT = 1e-6FIT_MAXITER = 50

    K.Grzelak (IFD UW) 24 / 24