Muokataan sivua Gnuplot
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
[[Kuva:gnuplot_esim.png|200px|right|thumb|Lämpötilan kuvaaja]] | [[Kuva:gnuplot_esim.png|200px|right|thumb|Lämpötilan kuvaaja]] | ||
Gnuplot on [[Portaali:Komentorivi | komentorivipohjainen]] ohjelma numeerisen tiedoston muuntamiseksi graafiseksi 2D- tai 3D-esitykseksi. | |||
== Peruskäyttö == | == Peruskäyttö == | ||
[[Kuva:gnuplot_sinx_x.png|200px|right|thumb|Funktion sin(x)/x kuvaaja]] | [[Kuva:gnuplot_sinx_x.png|200px|right|thumb|Funktion sin(x)/x kuvaaja]] | ||
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 käynnistetään komennolla | |||
gnuplot | gnuplot | ||
jonka jälkeen aukeaa ohjelman päänäyttö, ja yleensä kerrotaan, että käytetään "x11":a eli graafista käyttöliittymää kuvaajien piirtämiseen (Gnuplot osaa piirtää tarvittaessa myös tekstimuotoisia kuvaajia): | jonka jälkeen aukeaa ohjelman päänäyttö, ja yleensä kerrotaan, että käytetään "x11":a eli graafista käyttöliittymää kuvaajien piirtämiseen (Gnuplot osaa piirtää tarvittaessa myös tekstimuotoisia kuvaajia): | ||
Rivi 14: | Rivi 13: | ||
Terminal type set to 'x11' | Terminal type set to 'x11' | ||
gnuplot> | gnuplot> | ||
Seuraavaksi voidaan kirjoittaa Gnuplotin komentoja ohjelman omaan käyttöliittymään. Tavallinen kuvaaja xy-koordinaatistoon piirretään komennolla <tt>plot funktio</tt>, esimerkiksi: | |||
Seuraavaksi voidaan kirjoittaa | |||
gnuplot> plot sin(x)/x | gnuplot> plot sin(x)/x | ||
Jos halutaan piirtää useampia funktioita, erotellaan ne pilkulla: | Jos halutaan piirtää useampia funktioita, erotellaan ne pilkulla: | ||
Rivi 23: | Rivi 19: | ||
Piirtyvässä ikkunassa kuvaajat ovat oletuksena erivärisiä ja värien selitykset löytyvät oikeasta ylänurkasta. | Piirtyvässä ikkunassa kuvaajat ovat oletuksena erivärisiä ja värien selitykset löytyvät oikeasta ylänurkasta. | ||
=== Alueen rajaaminen === | === Alueen rajaaminen === | ||
Rivi 35: | Rivi 26: | ||
set yrange [3:4] | set yrange [3:4] | ||
jolloin kuvaajasta piirrettäisiin se osa, jossa y-koordinaatti on välillä 3<=y<=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 | |||
=== Piirtäminen parametriesityksestä === | === Piirtäminen parametriesityksestä === | ||
Gnuplot mahdollistaa myös funktioiden esittämisen parametrimuodossa. Aluksi on asetettava Gnuplot parametritilaan komennolla | |||
set parametric | set parametric | ||
Nyt voidaan piirtää kuvaaja syntaksilla | Nyt voidaan piirtää kuvaaja syntaksilla | ||
[alaraja:yläraja] x(t),y(t) | |||
Esimerkiksi piirretään ellipsin, jonka vaakasuora puoliakseli on 2 ja pystysuora 1: | Esimerkiksi piirretään ellipsin, jonka vaakasuora puoliakseli on 2 ja pystysuora 1: | ||
plot [0:pi*2] 2*cos(t),sin(t) | plot [0:pi*2] 2*cos(t),sin(t) | ||
=== Komennot === | === Komennot === | ||
Rivi 107: | Rivi 83: | ||
|Tauko | |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: | Esimerkiksi sovitetaan suora seuraavaan, suunnilleen lineaariseen pistejoukkoon. Tehdään tiedosto mittaus.dat seuraavalla tavalla: | ||
Rivi 159: | Rivi 99: | ||
Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää <tt>plot</tt>-komennolla seuraavasti | Nyt tämä pistejoukko voitaisiin yksinkertaisesti piirtää <tt>plot</tt>-komennolla seuraavasti | ||
plot "mittaus.dat" | plot "mittaus.dat" | ||
Jolloin | 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: | 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: | ||
Rivi 170: | Rivi 110: | ||
|- | |- | ||
|<tt>xerrorbars</tt>, <tt>yerrorbars</tt> | |<tt>xerrorbars</tt>, <tt>yerrorbars</tt> | ||
|Vain x- tai y-suuntaiset | |Vain x- tai y-suuntaiset virerajat | ||
|- | |- | ||
|<tt>lines</tt> | |<tt>lines</tt> | ||
Rivi 187: | Rivi 127: | ||
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. | 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 | Määritellään ensin funktio f(x): | ||
f(x)=A*x+B | f(x)=A*x+B | ||
<tt>y=A*x+B</tt> siis on suoran yhtälö, joten olemme sovittamassa suoraa. Gnuplot selvittää vakiot A ja B. | <tt>y=A*x+B</tt> siis on suoran yhtälö, joten olemme sovittamassa suoraa. Gnuplot selvittää vakiot A ja B. | ||
Rivi 193: | Rivi 133: | ||
Varsinainen sovitus tehdään komennolla | Varsinainen sovitus tehdään komennolla | ||
fit f(x) "mittaus.dat" via A,B | 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 | 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: | Tämä komento tulostaa paljon tekstiä kertoen etenemisestään ja kertoo lopulta, millaiseen käyrään se päätyi: | ||
Rivi 212: | Rivi 152: | ||
Eli pistejoukkoon sovitetun suoran yhtälö on <tt>3,66307*x+55,6119</tt>. Kulmakertoimen virhe on <tt>+/- 0,3708</tt> ja vakiotermin <tt>+/- 2,34</tt>. | Eli pistejoukkoon sovitetun suoran yhtälö on <tt>3,66307*x+55,6119</tt>. Kulmakertoimen virhe on <tt>+/- 0,3708</tt> ja vakiotermin <tt>+/- 2,34</tt>. | ||
Nyt kun sovitus on tehty, voidaan sovitettu kuvaaja piirtää komennolla | Nyt kun sovitus on tehty, voidaan sovitettu kuvaaja piirtää pistejoukkoon komennolla | ||
plot f(x) | plot f(x) | ||
[[Kuva:Gnuplot-sovitettu.png|thumb|250px|right|Lopullinen kuvaaja]] | [[Kuva:Gnuplot-sovitettu.png|thumb|250px|right|Lopullinen kuvaaja]] | ||
Sillä <tt>fit</tt>-komento on asettanut f(x):n vakioille A ja B arvot. Jos samaan kuvaan halutaan piirtää myös datapisteet ja niiden virherajat, komento on | Sillä <tt>fit</tt>-komento on asettanut f(x):n vakioille A ja B arvot. Jos samaan kuvaan halutaan piirtää myös datapisteet ja niiden virherajat, komento on | ||
plot "mittaus.dat" with xyerrorbars,f(x) | plot "mittaus.dat" with xyerrorbars,f(x) | ||
Tässä siis piirretään kaksi kuvaajaa, jotka erotetaan toisistaan pilkulla. | Tässä siis oikeastaan piirretään kaksi kuvaajaa, jotka erotetaan toisistaan pilkulla. | ||
=== Virherajojen huomioiminen sovituksessa === | === Virherajojen huomioiminen sovituksessa === | ||
Oletuksena | Oletuksena Gnuplot ei huomioi pisteille asetettuja virhetermejä käyrää sovittaessaan. Sovitukseen voidaan kuitenkin asettaa jokaista pisteparia vastaamaan tietty painokerroin joka kuvaa pisteen virherajoja. Kaksiulotteisessa sovituksessa annettava virhetermi on y-koordinaatin keskihajonta, ts. Gnuplot asettaa pisteparin painokertoimeksi <tt>1/s^2</tt>, missä s on annettu keskihajonta. | ||
Käytännössä tämä tapahtuu siten, että sovituskomennossa kerrotaan | Käytännössä tämä tapahtuu siten, että sovituskomennossa kerrotaan Gnuplotille missä tiedoston sarakkeessa virhetermi on. Jos edellä olevassa esimerkissä päättäisimme, että voimme jättää x-koordinaatin virheen huomioon ottamatta, kertoisimme virheen olevan tiedoston 4. sarakkeessa jolloin sovitus tapahtuisi komennolla | ||
fit f(x) "mittaus.dat" using 1:2:4 via A,B | fit f(x) "mittaus.dat" using 1:2:4 via A,B | ||
Tässä siis parametri <tt>using 1:2:4</tt> kuvaa tiedoston rakenteen: ensimmäisessä sarakkeessa on x-koordinaatti, toisessa y-koordinaatti ja neljännessä y-koordinaatin keskihajonta. | Tässä siis parametri <tt>using 1:2:4</tt> kuvaa tiedoston rakenteen: ensimmäisessä sarakkeessa on x-koordinaatti, toisessa y-koordinaatti ja neljännessä y-koordinaatin keskihajonta. | ||
Lisätietoja sovitustoiminnosta löytyy | Lisätietoja sovitustoiminnosta löytyy Gnuplotin ohjeista komennolla | ||
help fit | help fit | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[http://www.gnuplot.info/ Ohjelman kotisivu] | *[http://www.gnuplot.info/ Ohjelman kotisivu] | ||
*[http://www.jyu.fi/science/laitokset/fysiikka/opiskelu/tyoosasto/gnuplot.pdf Jyväskylän yliopiston | *[http://www.jyu.fi/science/laitokset/fysiikka/opiskelu/tyoosasto/gnuplot.pdf Jyväskylän yliopiston Gnuplot-opas] | ||
[[Luokka:Tiedeohjelmat]] | |||
[[Luokka: |