ATK Tähtitieteessä 26.11.1998

1. Ohjelmien kirjoittaminen ja ajaminen -pääohjelmat -aliohjelmat -funktiot

Ohjelmissa tarvitaan usein erilaisia komentorakenteita, esim. silmukoita ja ehtolauseita. Näiden syntaksista enemmän H. Salon monisteessa alkaen sivulta 9.

2. Datan lukeminen ja kirjoittaminen II: (formatoidut) ASCII-tiedostot

-ASCII-tiedostojen lukeminen: Edellä mainitussa hakemistossa on ASCII-tiedosto asteroids.dat, joka sisältää joidenkin asteroidien isoakselin puolikkaat ja eksentrisyydet. Lue kyseiset parametrit taulukoiksi a ja e käyttäen lukemiseen komentoa readf. Ennen lukemista tiedosto on aukaistava komennolla openr, esim. openr,1,'asteroids.dat'.

-ASCII-tiedostoja voidaan kirjoittaa komennolla printf. Sitä ennen tiedosto on aukaistava käyttäen komentoa openw. Lisätietoja saat H. Salon monisteesta sivulta 22.

3. Datan lukeminen ja kirjoittaminen III: kuvaformaatit

-muissa formaateissa olevien kuvatiedostojen lukeminen: Esimerkiksi jpeg-formaatissa olevien kuvien lukeminen IDL:ään tapahtuu komennolla read_jpeg. Lue IDL:ään tiedosto

/home/demo/idl_routines/mars_face.jpg.

-IDL:ssä voi myös kirjoittaa kuvia tiedostoihin eri formaateissa, esim. jpegginä käyttäen komentoa write_jpeg.

4. Tarkastellaan yhtä IDL:n monista sisäänrakennetuista numeerisista ohjelmista, pienimmän neliösumman polynomisovituksen tekevää svdfit ohjelmaa. Luo ensiksi taulukot x ja y=f(x), missä y on jokin polynomifunktio. Lisää sitten y:hyn satunnaista hälyä randomu-komennolla, joka luo tasaisesti jakautuneita satunnaislukuja välillä [0,1]. Sovita sitten saamaasi “dataan” polynomi. Kokeile erilaisia astelukuja.

5. IDL:n save-tiedostossa /home/demo/idl_routines/galaxies.save on yli

50 000 galaksin paikkakoordinaatit (rektaskensio ja deklinaatio) sekä radiaalinopeudet. Tulosta galaksien jakauma taivaalla. Mitä huomaat?

   Tiedostossa /home/demo/idl_routines/open_clusters.save on avonais-

ten tähtijoukkojen jakauma taivaalla. Tulosta se galaksijakauman päälle. Mistä johtuu ero jakaumissa?

Tähtitieteellisessä IDL-kirjastossa nimeltä Astro on useita tähtitieteellisiä rutiineja. Yksi niistä muuttaa rektaskension ja deklinaation galaktisiksi koordinaateiksi l,b tai päinvastoin. Muunnos galaktisiin koordinaatteihin on seuraavaa muotoa glactc,ra,dec,year,gl,gb,1, missä ra,dec ovat ekvatoriaaliset koordinaatit, gl,gb galaktiset koordinaatit, year on ekvatoriaalisiin koordinaatteihin viittaava epookki, tässä tapauksessa 2000. Miltä edelliset jakaumat näyttävät galaktisissa koordinaateissa tulostettuina?

Hubblen lain mukaan kaukaisen galaksin etäisyys saadaan sen etääntymisnopeudesta seuraavasti: r = v/H_{0}. Käytä taulukon vhelio nopeuksista laskettuja etäisyyksiä Hubblen vakion arvolla H_{0} = 75kms^{−1}Mpc^{−1} ja tulosta etäisyysjakauma deklinaatiovälillä [26.5,32.5]. Mitä huomaat?