4. domača naloga
Navodila
Zahtevana števila izračunajte na 10 decimalk (z relativno natančnostjo $\mathbf{10^{-10}}$) Uporabite lahko le osnovne operacije, vgrajene osnovne matematične funkcije exp
, sin
, cos
, ..., osnovne operacije z matrikami in razcepe matrik. Vse ostale algoritme morate implementirati sami.
Namen te naloge ni, da na internetu poiščete optimalen algoritem in ga implementirate, ampak da uporabite znanje, ki smo ga pridobilili pri tem predmetu, čeprav na koncu rešitev morda ne bo optimalna. Kljub temu pazite na časovno in prostorsko zahtevnost, saj bo od tega odvisna tudi ocena.
Izberite eno izmed nalog. Domačo nalogo lahko delate skupaj s kolegi, vendar morate v tem primeru rešiti toliko različnih nalog, kot je študentov v skupini.
Če uporabljate drug programski jezik, ravno tako kodi dodajte osnovno dokumentacijo in teste.
Težje naloge
Ničle Airijeve funkcije
Airyjeva funkcija je dana kot rešitev začetnega problema
Poiščite čim več ničel funkcije $Ai$ na 10 decimalnih mest natančno. Ni dovoljeno uporabiti vgrajene funkcijo za reševanje diferencialnih enačb. Lahko pa uporabite Airyjevo funkcijo airyai
iz paketa SpecialFunctions.jl
, da preverite ali ste res dobili pravo ničlo.
Namig
Za računanje vrednosti $y(x)$ lahko uporabite Magnusovo metodo reda 4 za reševanje enačb oblike
pri kateri nov približek $\mathbf{Y}_{k+1}$ dobimo takole:
Izraz $[A,B]$ je komutator dveh matrik in ga izračunamo kot $[A,B]=AB-BA$. Eksponentno funkcijo na matriki ($\exp(\sigma_{k+1})$) pa v programskem jeziku julia dobite z ukazom exp
.
Dolžina implicinto podane krivulje
Poiščite približek za dolžino krivulje, ki je dana implicitno z enačbama
Krivuljo lahko poiščete kot rešitev diferencialne enačbe
Perioda limitnega cikla
Poiščite periodo limitnega cikla za diferencialno enačbo
na 10 decimalk natančno.
Obhod lune
Sondo Appolo pošljite iz Zemljine orbite na tir z vrnitvijo brez potiska (free-return trajectory), ki obkroži Luno in se vrne nazaj v Zemljino orbito. Rešujte sistem diferencialnih enačb, ki ga dobimo v koordinatnem sistemu, v katerem Zemlja in Luna mirujeta (omejen krožni problem treh teles). Naloge ni potrebno reševati na 10 decimalk.
Omejen krožni problem treh teles
Označimo z $M$ maso Zemlje in z $m$ maso Lune. Ker je masa sonde zanemarljiva, Zemlja in Luna krožita okrog skupnega masnega središča. Enačbe gibanja zapišemo v vrtečem koordinatnem sistemu, kjer masi $M$ in $m$ mirujeta. Označimo
V brezdimenzijskih koordinatah (dolžinska enota je kar razdalja med masama $M$ in $m$) postavimo maso $M$ v točko $(-\mu,0,0)$, maso $m$ pa v točko $(\bar{\mu},0,0)$. Označimo z $R$ in $r$ oddaljenost satelita s položajem $(x,y,z)$ od mas $M$ in $m$, tj.
Enačbe gibanja sonde so potem:
Lažja naloga (ocena največ 9)
Naloga je namenjena tistim, ki jih je strah eksperimentiranja ali pa za to preprosto nimajo interesa ali časa.
Matematično nihalo
Kotni odmik $\theta(t)$ (v radianih) pri nedušenem nihanju nitnega nihala opišemo z diferencialno enačbo
kjer je $g=9.80665m/s^2$ težni pospešek in $l$ dolžina nihala. Napišite funkcijo nihalo
, ki računa odmik nihala ob določenem času. Enačbo drugega reda prevedite na sistem prvega reda in računajte z metodo Runge-Kutta četrtega reda:
Klic funkcije naj bo oblike odmik=nihalo(l,t,theta0,dtheta0,n)
- kjer je
odmik
enak odmiku nihala ob časut
, - dolžina nihala je
l
, - začetni odmik (odmik ob času $0$) je
theta0
- in začetna kotna hitrost ($\theta'(0)$) je
dtheta0
, - interval $[0,t]$ razdelimo na
n
podintervalov enake dolžine.
Primerjajte rešitev z nihanjem harmoničnega nihala. Za razliko od harmoničnega nihala (sinusno nihanje), je pri matematičnem nihalu nihajni čas odvisen od začetnih pogojev (energije). Narišite graf, ki predstavlja, kako se nihajni čas spreminja z energijo nihala.