Differentiaaliyhtälöt

[Graphics:Images/9_ratkaisut_gr_1.gif]

Tehdään ensin muutamia apufunktioita (et on kahden pisteen välinen etäisyys ja Fx ja Fy ovat x- ja y-akseleiden suuntaiset voimat:

[Graphics:Images/9_ratkaisut_gr_2.gif]

Seuraavassa PR on apumuuttuja plottausta varten (kuvat rajat), maxtime ilmoittaa kuinka pitkälle differentiaaliyhtälöitä ratkaistaan ja xa ja ya ovat auringon koordinaatit.

Differentiaaliyhtälöiksi saadaan

"maan kiihtyvyys x-akselin suunnassa"=="auringon maalle aiheuttama kiihtyvyys x-suunnassa"+"venuksen maalle aiheuttama kiihtyvyys x-suunnassa" (1. yhtälö NDSolvessa)

"maan kiihtyvyys y-akselin suunnassa"=="auringon maalle aiheuttama kiihtyvyys y-suunnassa"+"venuksen maalle aiheuttama kiihtyvyys y-suunnassa" (2. yhtälö NDSolvessa)

"venuksen kiihtyvyys x-akselin suunnassa"=="auringon venukselle aiheuttama kiihtyvyys x-suunnassa"+"maan venukselle aiheuttama kiihtyvyys x-suunnassa" (3. yhtälö NDSolvessa)

"venuksen kiihtyvyys y-akselin suunnassa"=="auringon venukselle aiheuttama kiihtyvyys y-suunnassa"+"maan venukselle aiheuttama kiihtyvyys y-suunnassa" (4. yhtälö NDSolvessa)

jne.

Huomaa, että satelliitin aiheuttama kiihtyvyys planeettoihin on niin häviävän pieni, että se voidaan jättää huomiotta. Lisäksi huomaa, että kustakin tiettyä planeettaa tai satelliittia esittävästä yhtälöistä on supistettu kyseisen planeetan/satelliitiin massa pois (sen vuoksi sitä ei sisällytetty funktioihinkaan).

[Graphics:Images/9_ratkaisut_gr_3.gif]
[Graphics:Images/9_ratkaisut_gr_4.gif]

Flatten poistaa yhdet ylimääräiset aaltosulut yo. tuloksen ympäriltä.

[Graphics:Images/9_ratkaisut_gr_5.gif]
[Graphics:Images/9_ratkaisut_gr_6.gif]

Seuraava rivi liittyy ohjelmointiin, jota käymme läpi seuraavaksi (ja joka selvinnee täysin vasta sitten). Kuvitellaan, että satelliitti on lähetetty maasta tutkimaan Venusta. Ohjelmanpätkä etsii ajanhetken, jolloin maata läheltä lähetetty satelliitti on lähimpänä Venusta jarrurakettien laukaisemista varten. Toinen tapa ratkaista hetki, jolloin jarruraketit voidaan ratkaista, on yksinkertaisesti kokeilla eri t:n arvoilla etäisyyksiä Venuksen ja satelliitin välillä.

[Graphics:Images/9_ratkaisut_gr_7.gif]
[Graphics:Images/9_ratkaisut_gr_8.gif]

Radoista voidaan piirtää myös kuvia ParametricPlot-käskyllä:

[Graphics:Images/9_ratkaisut_gr_9.gif]

[Graphics:Images/9_ratkaisut_gr_10.gif]

[Graphics:Images/9_ratkaisut_gr_11.gif]

[Graphics:Images/9_ratkaisut_gr_12.gif]

[Graphics:Images/9_ratkaisut_gr_13.gif]

[Graphics:Images/9_ratkaisut_gr_14.gif]

Ohjelmointi, ehtolauseet

Tutustu rakettiesimerkkiin ja kokeile mitä tapahtuu,jos muutat vakioiden,kuten alussa olevan polttoaineen arvoja.

[Graphics:Images/9_ratkaisut_gr_15.gif]

[Graphics:Images/9_ratkaisut_gr_16.gif]

[Graphics:Images/9_ratkaisut_gr_17.gif]

[Graphics:Images/9_ratkaisut_gr_18.gif]

[Graphics:Images/9_ratkaisut_gr_19.gif]

Polttoainetta lisätty, raketti kipuaa ylemmäs.

Määrittele funktio f[x], joka saa arvon 1, kun x<=0 ja arvon 0, kun x>0. Piirrä funktion kuvaaja.

[Graphics:Images/9_ratkaisut_gr_20.gif]

[Graphics:Images/9_ratkaisut_gr_21.gif]

[Graphics:Images/9_ratkaisut_gr_22.gif]

[Graphics:Images/9_ratkaisut_gr_23.gif]

[Graphics:Images/9_ratkaisut_gr_24.gif]

[Graphics:Images/9_ratkaisut_gr_25.gif]

[Graphics:Images/9_ratkaisut_gr_26.gif]

Jotta funktiosta saataisiin jatkuva, voidaan esimerkiksi keskimmäisen palasen suora sovittaa siten, että pisteessä 3 se olisi sama kuin paraabeli samassa pisteessä ja pisteessä 7 se olisi 14:

[Graphics:Images/9_ratkaisut_gr_27.gif]
[Graphics:Images/9_ratkaisut_gr_28.gif]
[Graphics:Images/9_ratkaisut_gr_29.gif]

[Graphics:Images/9_ratkaisut_gr_30.gif]

[Graphics:Images/9_ratkaisut_gr_31.gif]

Toistolauseet

Kirjoita Mathematica ohjelma, joka laskee n ensimmäistä Fibonaccin lukua for-, do- ja while-lauseilla (kaikilla tavoilla eri ohjelma). Fibonaccin luvut saadaan rekursiokaavalla
[Graphics:Images/9_ratkaisut_gr_32.gif]=[Graphics:Images/9_ratkaisut_gr_33.gif]+[Graphics:Images/9_ratkaisut_gr_34.gif]
[Graphics:Images/9_ratkaisut_gr_35.gif]=0
[Graphics:Images/9_ratkaisut_gr_36.gif]=1,
eli jokainen luku on kahden edeltäjänsä summa. Lukumäärä n kysytään käyttäjältä. Lukujen tulostukseen voit käyttää Print-komentoa.

For-silmukka:

[Graphics:Images/9_ratkaisut_gr_37.gif]
[Graphics:Images/9_ratkaisut_gr_38.gif]
[Graphics:Images/9_ratkaisut_gr_39.gif]
[Graphics:Images/9_ratkaisut_gr_40.gif]
[Graphics:Images/9_ratkaisut_gr_41.gif]
[Graphics:Images/9_ratkaisut_gr_42.gif]
[Graphics:Images/9_ratkaisut_gr_43.gif]
[Graphics:Images/9_ratkaisut_gr_44.gif]
[Graphics:Images/9_ratkaisut_gr_45.gif]
[Graphics:Images/9_ratkaisut_gr_46.gif]
[Graphics:Images/9_ratkaisut_gr_47.gif]

Do-silmukka:

[Graphics:Images/9_ratkaisut_gr_48.gif]
[Graphics:Images/9_ratkaisut_gr_49.gif]
[Graphics:Images/9_ratkaisut_gr_50.gif]
[Graphics:Images/9_ratkaisut_gr_51.gif]
[Graphics:Images/9_ratkaisut_gr_52.gif]
[Graphics:Images/9_ratkaisut_gr_53.gif]
[Graphics:Images/9_ratkaisut_gr_54.gif]
[Graphics:Images/9_ratkaisut_gr_55.gif]
[Graphics:Images/9_ratkaisut_gr_56.gif]
[Graphics:Images/9_ratkaisut_gr_57.gif]
[Graphics:Images/9_ratkaisut_gr_58.gif]

While-silmukka:

[Graphics:Images/9_ratkaisut_gr_59.gif]
[Graphics:Images/9_ratkaisut_gr_60.gif]
[Graphics:Images/9_ratkaisut_gr_61.gif]
[Graphics:Images/9_ratkaisut_gr_62.gif]
[Graphics:Images/9_ratkaisut_gr_63.gif]
[Graphics:Images/9_ratkaisut_gr_64.gif]
[Graphics:Images/9_ratkaisut_gr_65.gif]
[Graphics:Images/9_ratkaisut_gr_66.gif]
[Graphics:Images/9_ratkaisut_gr_67.gif]
[Graphics:Images/9_ratkaisut_gr_68.gif]
[Graphics:Images/9_ratkaisut_gr_69.gif]

[Graphics:Images/9_ratkaisut_gr_70.gif]

[Graphics:Images/9_ratkaisut_gr_71.gif]
[Graphics:Images/9_ratkaisut_gr_72.gif]
[Graphics:Images/9_ratkaisut_gr_73.gif]
[Graphics:Images/9_ratkaisut_gr_74.gif]
[Graphics:Images/9_ratkaisut_gr_75.gif]
[Graphics:Images/9_ratkaisut_gr_76.gif]

[Graphics:Images/9_ratkaisut_gr_77.gif]

[Graphics:Images/9_ratkaisut_gr_78.gif]
[Graphics:Images/9_ratkaisut_gr_79.gif]


Converted by Mathematica      March 23, 2005