Työseloste 14 ATK tähtitieteessä

Anne Seppänen seppanne@mail.student.oulu.fi

2. kesäkuuta 2004 1 HARJOITUSTYÖ 14

1.1 Pohjustusta

Harjoitustyön tehtävänä oli tehdä ohjelma, joka lukee tiedoston komeetat.txt, jossa on annettu komeettojen perihelietäisyydet, radan eksentrisyydet ja inklinaatiot. Tämän tiedoston avulla tuli tulostaa IDL:ää hyväksikäyttäen komeettojen perihelietäisyys eksentrisyyden funktiona. Vaaka-akselille piti antaa otsikko ’perihelietäisyys [AU]’, pystyakselille ’eksentrisyys’ ja koko kuvan otsikon tuli olla ’Harjoitustyö 14’. Saadusta kuvasta piti tehdä ps-tiedosto ja se sekä ohjelmalistaus tuli liittää työselostukseen.

1.2 Itse suoritus

Aivan ensimmäiseksi tarvittava tiedosto kopioidaan omaan kotihakemistoon komennolla cp. Jotta saadaan selville tiedoston komeetat.txt rivien lukumäärä, luetaan se esim. cat-komennolla, joka näyttää koko tiedoston tai wc-komennolla,joka antaa suoraan tiedoston rivien lukumäärän. Tätä tietoa tarvitaan myöhemmin ohjelmassa, joka lukee tiedoston. Tämän jälkeen avataan emacs ja kirjoitetaan ohjelma, joka suorittaa edellämainitut tehtävät.

Jotta saadaan aikaiseksi toimiva ohjelma, tehdään seuraavat toimenpiteet: avataan tiedosto komennolla openr, poimitaan taulukosta toinen ja kolmas sarake (eli perihelietäisyys ja eksentrisyys) x:n ja y:n arvoiksi, suljetaan tiedosto ja annetaan lopuksi plottauskäsky muuttujille x ja y. Komennoilla xtitle ja ytitle voidaan määrittää x- ja y-akselin otsikot. Lisäksi kun ohjelma sisältää komennon set_plot, ’ps’, niin kuva tallentuu suoraan postscript-tiedostona.

Seuraavaksi suoritetaan ohjelma kirjoittamalla IDL:n komentoriville .run komeetat.pro jolloin saadaan tulostumaan eksentrisyys perihelietäisyyden funktiona kuvaajaan.

1.3 Mitä sitten opimme?

Harjoitustyö oli erittäin opettavainen henkilölle, joka ei ole perehtynyt syvemmin tietokoneisiin. Erityisesti UNIX-komentojen opettelu ja LaTeXin käyttökokemus vaikuttivat hyödyllisiltä taidoilta, joilla on mitä todennäköisimmin käyttöä tulevaisuudessakin. Myös IDL:llä plottaaminen oli loppujen lopuksi mukavaa alkuvaikeuksista huolimatta, sillä yleensä minkä tahansa kuvaajan tekeminen esimerkiksi Excelillä vaikuttaa hieman hankalalta eikä jälki ole yleensä yhtä siistiä.

Työssä siis oppi käyttämään suhteellisen sujuvasti muitakin kuin Windowspohjaisia ohjelmistoja, mikä on tietysti eduksi. Työn aikana oppi myös sen, että omia aivoja kannattaa käyttää ensin ja vasta sitten tehdä työ.

Kuva 1: Harjoitustyö 14.

1.4 Ohjelmalistaus

;lukee tiedoston komeetat.txt ;tulostaa eksentrisyyden perhihelietäisyyden funktiona openr,1,’komeetat.txt’ n=408 temp=fltarr(4,408) readf,1,temp x=temp(1,*) ;x on temp:n ensimmäinen pystyrivi eli perihelietäisyys y=temp(2,*) ;y on temp:n toinen pystyrivi eli eksentrisyys close,1 window,retain=2 set_plot, ’ps’ device,filename= ’komeetat.ps’ plot,x,y,xtitle=’perihelietäisyys [AU]’,ytitle=’eksentrisyys’,psym=3 device, /close set_plot, ’x’ end 4