Ero sivun ”Gnuplot” versioiden välillä
(taulukko komennoista) |
(→Käyrän sovitus pistejoukkoon: välitallennjus) |
||
Rivi 70: | Rivi 70: | ||
== Käyrän sovitus pistejoukkoon == | == Käyrän sovitus pistejoukkoon == | ||
Gnuplot osaa sovittaa mielivaltaisia käyriä pistejoukkoon ja se osaa huomioida myös pisteiden virherajat. Pisteet annetaan omassa tiedostossa, jossa jokaisella rivillä on joko välilyönnillä tai sarkaimella (tabulaattorilla) erotettuna pisteen koordinaatit ja mahdollisesti myös virherajat. | |||
Esimerkiksi sovitetaan suora seuraavaan, suunnilleen lineaariseen pistejoukkoon. Tehdään tiedosto mittaus.dat seuraavalla tavalla: | |||
#mittaus.dat | |||
#x y xvirhe yvirhe | |||
3 68 0.1 1 | |||
4 71.2 0.2 2 | |||
5 70 0.15 6 | |||
5.5 76.6 0.1 0.5 | |||
7.1 81.1 0.2 1 | |||
8.2 86.5 0.2 2 | |||
9 89 2 3 | |||
Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää <tt>plot</tt>-komennolla seuraavasti | |||
plot "mittaus.dat" | |||
Jolloin Gnuplot piirtää pisteet ja valitsee alueen rajat siten, että kaikki pisteet mahtuvat alueelle. | |||
Kuvaan saadaan näkymään virheet lisäämällä komennon perään tekstin <tt>with xyerrorbars</tt>. <tt>with</tt>-komennolla on mahdollista lisätä kuvaajaan muitakin elementtejä. Esimerkiksi seuraavat elementit ovat mahdollisia: | |||
{| border=1 | |||
|'''Elementti''' | |||
|'''Selitys''' | |||
|- | |||
|<tt>xyerrorbars</tt> | |||
|Virherajat x- ja y-suunnassa | |||
|- | |||
|<tt>xerrorbars</tt>, <tt>yerrorbars</tt> | |||
|Vain x- tai y-suuntaiset virerajat | |||
|- | |||
|<tt>lines</tt> | |||
|Viiva pisteestä pisteeseen | |||
|- | |||
|<tt>boxxyerrorbars</tt> | |||
|Virherajat laatikkoina | |||
|- | |||
|<tt>points</tt> | |||
|Datapisteet (oletus) | |||
|} | |||
=== Varsinainen sovitus === | |||
Jos piirrämme pistejoukkoon käyrän komennolla | |||
plot "mittaus.dat" with lines | |||
huomataan, että pisteet ovat likimain samalla suoralla, mutta kuvaajassa pisteet on vaan yhdistetty toisiinsa mutkittelevalla viivalla. Voimme kuitenkin sovittaa tähän pistejoukkoon suoran tai minkä tahansa mielivaltaisen funktion seuraavasti. | |||
Määritellään ensin funktio f(x): | |||
f(x)=A*x+B | |||
y=A*x+B siis on suoran yhtälö, joten olemme sovittamassa suoraa. Gnuplot selvittää vakiot A ja B. | |||
Varsinainen sovitus tehdään komennolla | |||
fit f(x) "mittaus.dat" via A,B | |||
Eli <tt>fit</tt>-komennolle annetaan funktio, joka sovitetaan pistejoukkoon ja <tt>via</tt>-komennolla kerrotaan vakiot, jotka Gnuplotin tulee selvittää. | |||
Tämä komento tulostaa paljon tekstiä kertoen etenemisestään ja kertoo lopulta, millaiseen käyrään se päätyi: | |||
<pre> | |||
Final set of parameters Asymptotic Standard Error | |||
======================= ========================== | |||
A = 3.66307 +/- 0.3708 (10.12%) | |||
B = 55.6119 +/- 2.34 (4.208%) | |||
correlation matrix of the fit parameters: | |||
A B | |||
A 1.000 | |||
B -0.946 1.000 | |||
</pre> | |||
== Linkkejä == | == Linkkejä == |
Versio 18. syyskuuta 2007 kello 23.13
Gnuplot on komentorivipohjainen ohjelma numeerisen tiedoston muuntamiseksi graafiseksi 2D- tai 3D-esitykseksi.
Peruskäyttö
Gnuplotin voi käynnistää komentoriviltä, jonka jälkeen gnuplot> -kehotteen perään syötetään tulostuskäskyt yksi kerrallaan. Monimutkaisemmat tulosteet kannattaa kuitenkin tehdä erillisiksi ajettaviksi tiedostoiksi.
$ gnuplot
G N U P L O T -- Terminal type set to 'x11' gnuplot> plot sin(x)/x gnuplot> exit
Alueen rajaaminen
Piirtoalue voidaan rajata tietylle välille seuraavasti:
set xrange [0:10]
Tämä piirtäisi funktion kuvaajan, kun 0<=x<=10. Vastaavasti alue voidaan rajoittaa myös y:n arvojen suhteen komennolla
set yrange [3:4]
jolloin kuvaajasta piirrettäisiin se osa, jossa y-koordinaatti on välillä 3<=y<=4.
Potenssit
Gnuplotin kanssa käytetään potenssimerkkinä kahta kertomerkkiä, esimerkiksi kuvaaja y=x^2 piirrettäisiin komennolla
plot x**2
Komennot
Komento | Selitys |
exit/quit | Lopettaa ohjelman |
cd | Vaihtaa työhakemistoa |
pwd | Näyttää nykyisen hakemiston |
set | Muuttaa asetuksia |
show | Näyttää asetuksien nykyisiä arvoja |
plot | Piirtää 2D-kuvaajan |
splot | Piirtää 3D-kuvaajan |
replot | Suorittaa uudelleen edellisen plot/splot-komennon |
fit | Sovittaa käyrän pistejoukkoon |
save | Tallentaa muuttujia, funktioita ja asetuksia |
load | Lataa save-komennolla tallennetun tiedostoston |
reset | Palauttaa oletusasetukset |
pause | Tauko |
Käyrän sovitus pistejoukkoon
Gnuplot osaa sovittaa mielivaltaisia käyriä pistejoukkoon ja se osaa huomioida myös pisteiden virherajat. Pisteet annetaan omassa tiedostossa, jossa jokaisella rivillä on joko välilyönnillä tai sarkaimella (tabulaattorilla) erotettuna pisteen koordinaatit ja mahdollisesti myös virherajat.
Esimerkiksi sovitetaan suora seuraavaan, suunnilleen lineaariseen pistejoukkoon. Tehdään tiedosto mittaus.dat seuraavalla tavalla:
#mittaus.dat #x y xvirhe yvirhe 3 68 0.1 1 4 71.2 0.2 2 5 70 0.15 6 5.5 76.6 0.1 0.5 7.1 81.1 0.2 1 8.2 86.5 0.2 2 9 89 2 3
Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää plot-komennolla seuraavasti
plot "mittaus.dat"
Jolloin Gnuplot piirtää pisteet ja valitsee alueen rajat siten, että kaikki pisteet mahtuvat alueelle.
Kuvaan saadaan näkymään virheet lisäämällä komennon perään tekstin with xyerrorbars. with-komennolla on mahdollista lisätä kuvaajaan muitakin elementtejä. Esimerkiksi seuraavat elementit ovat mahdollisia:
Elementti | Selitys |
xyerrorbars | Virherajat x- ja y-suunnassa |
xerrorbars, yerrorbars | Vain x- tai y-suuntaiset virerajat |
lines | Viiva pisteestä pisteeseen |
boxxyerrorbars | Virherajat laatikkoina |
points | Datapisteet (oletus) |
Varsinainen sovitus
Jos piirrämme pistejoukkoon käyrän komennolla
plot "mittaus.dat" with lines
huomataan, että pisteet ovat likimain samalla suoralla, mutta kuvaajassa pisteet on vaan yhdistetty toisiinsa mutkittelevalla viivalla. Voimme kuitenkin sovittaa tähän pistejoukkoon suoran tai minkä tahansa mielivaltaisen funktion seuraavasti.
Määritellään ensin funktio f(x):
f(x)=A*x+B
y=A*x+B siis on suoran yhtälö, joten olemme sovittamassa suoraa. Gnuplot selvittää vakiot A ja B.
Varsinainen sovitus tehdään komennolla
fit f(x) "mittaus.dat" via A,B
Eli fit-komennolle annetaan funktio, joka sovitetaan pistejoukkoon ja via-komennolla kerrotaan vakiot, jotka Gnuplotin tulee selvittää.
Tämä komento tulostaa paljon tekstiä kertoen etenemisestään ja kertoo lopulta, millaiseen käyrään se päätyi:
Final set of parameters Asymptotic Standard Error ======================= ========================== A = 3.66307 +/- 0.3708 (10.12%) B = 55.6119 +/- 2.34 (4.208%) correlation matrix of the fit parameters: A B A 1.000 B -0.946 1.000