Numeeriset menetelmät, kevät 2006

Harjoitus 9

Ratkaisut palautettava viimeistään luennolla 5.4.

1. Kurssin demo-ohjelmien hakemistosta löytyy ohjelma rk.f90, joka ratkaisee muotoa r''=f(t,r,v), r=r(t) olevan yhtälön Rungen ja Kuttan menetelmällä. Esimerkkiohjelma ratkaisee yksiulotteisen harmonisen oskillaattorin liikeyhtälön. Toteuta aliohjelma moduulina ja muuta sitä niin, että funktio f välitetään parametrina. Varmista interface-määrittelyn avulla, että annettu funktio on oikeaa muotoa. Testaa moduulia jollakin pääohjelmalla.

2. Muuta edellistä moduulia niin, että paikka ja nopeus esitetään vektoreina ja voima f on vetovoima. Testaa ohjelmaa laskemalla Aurinkoa 1 AU:n etäisyydellä ympyräradalla kiertävän massattoman kappaleen rata yhden vuoden aikana. Käytä pituuden yksikkönä AU:ta, ajan yksikkönä vuorokautta ja massan yksikkönä Auringon massaa, jolloin gravitaatiovakio (Gaussin gravitaatiovakio) on \gamma=0.00029 59122 08266.

3. Ratkaise tähtäysmenetelmällä yhtälö

y''+ y = x

välillä 0 <= x <= \pi/2 reuna-arvoilla

y(0)=1, y(\pi/2)=0.

(Tarkka ratkaisu on y=x+cos x - (\pi/2) sin x.)

4. Ratkaise edellinen tehtävä differenssimenetelmällä.