Gnunplot 2

Jegyzetben a 7. fejezet (88-96. oldal). http://stegerjozsef.web.elte.hu/teaching/szamalap.pdf

1. Görbék illesztése


Elmélet

Több módszer létezik arra, hogy egy empirikus görbét hozzáillesszünk ("fit") a megmért adatainkhoz. Ezek közül az egyiket, konkrétan a "Nem lineáris legkisebb négyzetek módszerét" használja a Gnuplot.

LKNM

  • Vegyünk egy *f(x,a,b,c,...) függvényt
  • Legyen:
\begin{equation} \chi^2(a,b,c,...)=\sum^N_{i=1} \frac{[y_i-f(x_i,a,b,c,...)]^2}{\sigma_i^2}, \end{equation}

ahol: \begin{equation} x_i, y_i \ \ \ -\ \ \ mérési\ adatok\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{equation} \begin{equation} a,b,c,....\ \ \ -\ \ \ paraméterek \ (ezeket\ keressük) \end{equation} \begin{equation} \sigma_i\ \ \ -\ \ \ y_i\ szórása \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{equation}

Első illesztésünk gnuplottal

Nyissunk terminált, majd lépjünk be a /latex/fig mappába! Indítsuk el a Gnuplotot, majd töltsünk le egy fájlt:

!wget itl7.elte.hu/~iracz/Oktatas/SzA/fitadatok.dat

Illeszteni a fit paranccsal lehet:

fit a*x+b 'fitadatok.dat' via a,b
plot a*x+b, 'fitadatok.dat'

Mikor jó egy illesztés?

  1. "Brute-force" jól néz ki
  2. "Relatíve" kicsi az illesztési hiba
  3. Statisztikailag elfogadható az illesztés (χ2 teszt)

Akkor jó statisztikailag az illesztés, ha: \begin{equation} \rho_{crit}>"final\ sum\ of\ squares\ of\ residuals" \end{equation}

Gnuplot illesztéskor a következő 2 paraméter jelenik meg:

  • Szabadsági fokok száma: FIT_NDF
  • Négyzetes összeg: "final sum of ...."

A kritikus értéket, pedig táblázatból lehet kikeresni: pl.: http://www.itl.nist.gov/div898/handbook/eda/section3/eda3674.htm

Állapítsuk meg az illesztési jóságot

Tudunk-e jól illeszteni a múltheti "sinusadatok.dat" adatsorára?

f(x)=a*sin(x-b)+c
fit f(x) 'sinusadatok.dat' via a,b,c
plot f(x), 'sinusadatok.dat'

A kritikus érték (99.9%-s szignifikancia szinten): 1141

Jó az illesztés?

  • Jól néz ki?
  • Kicsi a hiba?
  • statisztikailag megfelelő?

2. Hibasávok ábrázolása

Minden mérés rendelkezik hibával, amit az ábárn fel is szoktunk tüntetni.

Hibasávok ábrázolásához szükséges még egy adat, illetve az "errorbars" kapcsoló a plot parancsnál:

plot "sinusadatok.dat" using 2:3:($1/100) with errorbars
            Tömören:
p "sinusadatok.dat" u 2:3:($1/100) w e

3. Hisztogramok rajzolása

  1. Létre kell hozni adott számú intervalllumot
  2. Fel kell bontani az adatsort
  3. Ábrázolni az adatokat

Példa

n=100 #intervallumok száma min és max között
max=3. #maximum
min=-3. #minimum
width=(max-min)/n #intervallum szélessége
#függvény ami x ből az intervallumra képez
hist(x,width)=width*floor(x/width)+width/2.0
set boxwidth width*0.9
plot 'sinusadatok.dat' u (hist($3,width)):(1.0) smooth freq w boxes lc rgb"green" notitle

4. 3D ábrák készítése

3D-s ábrát az splot parancs segítségével lehet készíteni.

splot [-pi:pi][-pi:pi] cos(x)+cos(y)
splot [-pi:pi][-pi:pi] erf(x)+tan(y)
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
set contour base
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
set contour surface
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
set contour both
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
unset contour

További példák 3D-s ábrákra:

splot [-pi:pi][-pi:pi] cos(x)*cos(y)
set hidden3d
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
unset hidden3d
set isosamples 50
splot [-pi:pi][-pi:pi] cos(x)*cos(y)
unset isosamples

5. Polár ábrázolás

Csak egy rövid példa erejéig megmutatjuk, hogy ilyet is lehet:

set polar
set size square
plot log(t)
unset polar

Táblázatok LaTeX-ben

Jegyzetben az 6. fejezet (78-től 87.-ig oldalig). http://stegerjozsef.web.elte.hu/teaching/szamalap.pdf

LaTeX-ben a táblázatok elkészítése is parancsok kiadásával történik. Ez kevéssé felhasználó barát, mint egyéb táblázatkezelő szoftver vagy számolótábla használata.

Főbb parancsok:

\begin{table} és \end{table} - Táblázat környezet
\begin{tabular}{XYZ} és \end{tabular} - Tábla környezet
\hline - Vízszintes vonal a sorok közé
& - Oszlop elválasztó

Oszlopok formázása

  • \begin{tabular}{XYZ}: XYZ helyére kell felsorolni az oszlopok elhelyezését, és az oszlopelválasztót beállítani. Lehet: l/c/r (balra/középre/jobbra zárt oszlop)
  • Egyedi oszlopelválasztot is defiálhatunk: @{,} - vessző lesz az elválasztó

Egyéb hasznos parancsok

  • \multicolumn{MENNYIT}{HOGYAN}{ÉRTÉK}: Oszlopok egyesítése, hogyan lehet l/c/r
  • \multirow - Sorok egyesítése (\usepackage{multirow} kell). VAGY Kiválatható belső táblázattal.

Nyissátok meg a latex mappában levő latex.tex fájlt, majd a végéhez fűzzétek hozzá a következő példa sorait:

Példa

\begin{tabular}{l|r@{,}l}
Név&\multicolumn{2}{c}{Átlag}\\
\hline
Gizi&5&0\\
Géza&4&5\\
Péter&3&25\\
Vilma&3&12\\
\end{tabular}

Táblázatok feljegyzései és címkéi

A tabular környezetben nem lehet cimkét használni, illetve táblázat feléírást sem. Erre a célra szolgál a table környezet, ami körbeöleli a tabular-t.

Példa

\begin{table}
\label{tab: test}
\caption{Valami}
    \begin{tabular}{r|l}
    Valami1&Valami2\\
    \end{tabular}
\end{table}

Érdekesség:

Matematikai módban is lehet táblázatot írni (pl. mátrixok). Ennek a neve: array.

Pl.:

\begin{array}{lcr}
Valami
\end{array}