1. Kako narišemo graf meritve?

Iz Računalniška orodja v fiziki 2008 - 2009

Skoči na: navigacija, iskanje

Izmerili smo količino B, ob tem ko smo spreminjali količino A. Dobljene vrednosti smo postavili v tabelo parov, uredili v monoton niz po vrednostih neodvisne spremenljivke, poiskali območji obeh spremenljivk, vzeli primeren list milimetrskega papirja, izbrali primerno merilo, da bo slika pregledna, in na obeh oseh označili nekatere okrogle vrednosti spremenljivk. Osi opremimo tudi z imenoma spremenljivk in z enotama. V graf po vrsti s pikami ali križci ali krožci vnesemo točke, definirane s pari spremenljivk. Tak graf naj omogoča razbiranje vrednosti z natančnostjo nekaj odstotkov. Vzemimo preprosto meritev:

c[μg/L] 1.0 2.0 7.0 10 20 70 200 1000
F/Fmax [%] 0.0 0.0 15.3 34.6 49.3 82.6 96.0 100

(Merili so odgovor mišičnega vlakna na adrenalin. Mišično vlakno iz žabjega srca so napeli na mikrosilomer. Vlakno so oblivali z raztopino adrenalina različnih koncentracij in merili silo skrčenja ter jo normirali na 100% pri največji koncentraciji.)

Risanje z računalnikom poteka podobno, le da nekatere od operacij lahko opravi računalnik sam. Podatki so praviloma v datoteki. Privzemimo najpreprostejši primer, ko sta v tekstovni datoteki samo obe spremenljivki. V prvo vrstico bomo napisali število točk (8), potem pa po vrsti pare {c, F}. Datoteko preberemo takole:

readline(num);
for i := 1 to num do readline (x[i], y[i]);

Meje območja spremenljivke y (ymin in ymax) določimo takole:

ymin := y[1];
ymax := y[1];
for i := 2 to num do begin
  if ymin > y[i] then ymin := y[i];
  if ymax < y[i] then ymax := y[i];
end;

določimo povečavi px in py iz izbranih mer grafa ax in ay v pikslih

px := ax/(x[num]-x[1]); 
py := ay/(ymax – ymin);

in narišemo n.pr. s krožci:

for i := 1 to num do circle(x0+px*x[i], y0+py*y[i], r);

Tu sta x0 in y0 koordinati izhodišča grafa, v pikslih.

V standardnih računalniških orodjih potečejo te operacije avtomatično. V orodju Wgnuplot uporabimo osnovni ukaz

plot "Adrenalin.dat"

če smo zgornje podatke spravili v tekstovno datoteko s tem imenom. Ne potrebujemo prve vrstice s podatkom num, orodje samo prešteje vrstice podatkov in določi definicijsko območje. Lahko pa sami določimo območje x, če bi n.pr. hoteli povečavo manjšega območja.

plot [7:200] "Adrenalin.dat"

nariše samo točke od #3 do #7.

V orodju Excel je poglavitna priprava tabele podatkov: pokličemo datoteko podatkov, iz katere orodje prepiše podatke v dva stolpca. Ukaz za risanje opravimo s klikanjem stolpcev in ikone za grafe v menuju. Zelo podobno je delo v orodju Origin: uvozimo (import) datoteko podatkov, ki se tudi pojavi kot tabela. V njej izberemo stolpca, ki predstavljata spremenljivki x in y. Orodje ima zelo bogato izbiro za grafično opremo: barve, vrste znakov za točke, oznake osi, izbiro zaznamovanih vrednosti na oseh. Ima popoln izbor bolj zahtevnih oblik grafov, ki jih bomo srečali v nadaljnjih projektih. V programu Mathematica najprej z ukazom

podatki = ReadList["Adrenalin.dat", {Real, Real}];

preberemo podatke iz datoteke v tabelo podatki (pred tem moramo iz datoteke odstraniti vrstico s številom točk). Graf narišemo z ukazom

ListPlot[podatki]

Meje prikazanega območja neodvisne in odvisne spremenljivke nastavimo tako:

ListPlot[podatki, PlotRange->{{50, 150},{0, Automatic}}]

Pri teh nastavitvah bo na abscisni osi prikazano območje med 50 in 150, ordinatna os pa se bo začela pri 0, končno vrednost pa bo program poiskal sam. Program Mathematica vsebuje številne dodatne ukaze in nastavitve, povezane z risanjem grafov. Za začetek si v pomoči oglejte poglavja o ukazih ListPlot in Graphics.

Naloge

  1. Nariši graf s podatki v datoteki "Adrenalin.dat".
  2. Nariši graf s podatki iz datoteke "Korozija.dat”. To je meritev karakteristike I-U za kovinsko elektrodo v določeni korozivni raztopini (prvi stolpec U [mV], drugi I [A]). Poskusi označiti z drugačnim znakom (drugo barvo) točke, za katere verjameš, da imajo izjemno veliko napako ("outliers").
  3. Nariši graf s podatki iz datoteke "CSL123.MuD". To je meritev absorpcije rentgenskih žarkov (logaritem razmerja vpadnega in prepuščenega toka, drugi stolpec), z energijo fotonov (prvi stolpec) v področju robov L (L3 = 5017.8 eV, L2 = 5365.6 eV, L1 = 5720.4 eV), v cezijevi pari, izvedena na sinhrotronu v Hamburgu. Zaradi velikega števila merilnih točk izberi droben znak za točko ali celo samo črto od točke do točke. Nariši posebej še ožje območje robu L3 (-50 eV, 150 eV), da bo profil robu razločnejši. Ali meniš, da je ostri vrh priškrnjen zaradi pregrobega koraka v energiji?