Matemaatiline modelleerimine

Organisatoorsed küsimused

Aine kood, mahud ja hindamisvorm

Kood: MLM7204 
Ainepunkte: 4 EAP.
Kontakttunde: 56 auditoorset tundi (neist enamus praktikumid).
Õppematerjale veebis: 56 auditoorset tundi (neist enamus loengud).
Hindamisvorm: arvestus.

Tarvilikud tingimused arvestuse saamiseks

Nelja miniprojekti ja ühe suurema lõpp-projekti esitamine.
Lõppprojekti kaitsmine. Kollokviumi sooritamine.

Piisavad tingimused arvestuse saamiseks

Nii miniprojektide kui ka lõpprojekti dokumenteeritus ja sisu peavad olema sellisel tasemel, et pälviksid õppejõu heakskiidu. Kui esitatud projektid sisaldavad matemaatilisi või keelelisi vigu või muid olulisemaid puudusi, millele juhib tähelepanu õppejõud, siis tuleb need puudused kõrvaldada ja töö uuesti esitada.

Kollokviumil näitab üliõpilane, et ta tunneb antud kursuse põhimõisteid, omab ülevaadet matemaatilisest modelleerimisest ja valdab matemaatilise modelleerimise põhilisi võtteid. 

Lõpprojekt kaitstakse valge tahvli ees, kasutades arvutit ja dataprojektorit. Lõpprojekti esitlus peab olema selge ja arusaadav ning demonstreerima seda, kuidas esitleja oskab luua matemaatili(st/si)  mudel(it/eid). Lõpprojekti kaitsmisel võivad kohalolijad esitada projekti esitlejale küsimusi.

Mis on modelleerimine

Modelleerimine

Artikkel Eesti Entsüklopeedias:

Esemete ja nähtuste tunnetamise meetod, mis seisneb mudelite konstrueerimises ja uurimises. Modelleerimisel kantakse mudelil tehtud mõõtmiste, eksperimentide ja mudelist lähtuvate mõttekäikude ning arvutuste abil saadud andmed üle uuritavale objektile nende sarnasuse põhjal. 

/... / Mudelite loomise ja kasutamise põhiseaduspärasusi uurib teaduse metodoloogia. Modelleerimine on nüüdisteaduse universaalseid uurimismeetodeid. Nüüdisajal kasutatakse modelleerimisel elektronarvuteid.

Allikas:  6. Lõuna-Nõud, ehk Eesti Entsüklopeedia 6. köide, artikkel "modelleerimine" (1992).

Artikkel eestikeelses Vikipeedias:

Modelleerimine on olemasolevate või kujutletavate objektide (esemete, nähtuste ja protsesside, seoste ja sõltuvuse) tunnetamise, fikseerimise, talletamise ja vahendamise meetod. Modelleerimiseks ehk mudeldamiseks nimetatakse ka mudeli loomist. Mudeli järgi saab hinnata mingi objekti tegelikku olekut ning  ennustada järgnevaid olekuid. Modelleerimise täpsus sõltub objekti keerukusest. Modelleerimine seisneb mudelite konstrueerimises ja kasutamises. Modelleerimisel kasutatakse väga erinevat tüüpi mudeleid. Laialdaselt rakendatakse matemaatilist modelleerimist, mille puhul luuakse ja uuritakse matemaatilisi mudeleid.

Allikas:  eestikeelne Vikipeedia, artikkel "modelleerimine".

Näiteid mudelitest

Gloobus

Astronoomiline gloobus

Gerard Mercator, 1541

Google Earth

3D perspektiivvaated,  kaardid  ja  nendega seotud infosüsteem
        
                            Maal                                                             Kuul
     
                         Marsil					3D vaated ehitistest

Päikesesüsteemi mudelid

Geotsentriline ehk Ptolemaiose mudel

Trajektoorid geotsentrilise mudeli puhul

Merkuuri ja Veenuse orbiidid 7a ja 8a jooksul geotsentrilise mudeli puhul. 
Tekkivad jooned on epitsükloidid ja epitrohhoidid.

Mikołaj Koperniku mudel

Kepleri empiiriline mudel

Mysterium Cosmographicum (1596)                                 Kepleri mudeli sisemine osa

Korrapäraste hultahukate sisse ja ümber on joonestatud kerad nii, et sissejoonestatud kera puudutab hulktahuka tahkude keskpunkte, ümber joonestatud kera läbib hulktahuka tippe. Paigutades korrapärased hulktahukad seestpoolt väljapoole järjekorras oktaeeder, ikosaeeder, dodekaeeder, tetraeeder ja kuup ning võttes orbiitide raadiusteks nende kujundite sisse ja ümber joonestatud kerade raadiused, saame planeetide Merkuuri, Veenuse, Maa, Marsi, Jupiteri ja Saturni orbiitide raadiused.

Kepleri seadustel põhinev mudel

1.  Iga planeedi orbiit on ellips, mille ühes fookuses on Päike.
2.  Planeedi raadiusvektor katab võrdsete ajavahemike jooksul võrdsed pindalad.
3.  Planeetide tiirlemisperioodide ruudud suhtuvad nagu nende orbiitide pikemate pooltelgede kuubid.

Manipulate[Module[{eqns,soln,x,y},
G=1.0;m=2.0;Rstar=Sqrt[m/20];k=100;r0=(Sqrt[(xkezd^2)+(ykezd^2)]);v0=(Sqrt[(vxkezd^2)+(vykezd^2)]);
Et=((v0^2)/2)-((G m)/r0);J=xkezd  vykezd-ykezd vxkezd;se=((J^2)/(G m ));ex=(Sqrt[1+((2 Et (J^2))/((G^(2 ))(m^2)))]);lambdax=-m (xkezd/r0)+vykezd J;
lambday=-m (ykezd/r0)-vxkezd J;theta0=π+ArcTan[lambdax,lambday];angle0=ArcTan[xkezd/r0,ykezd/r0];
eqns={
x''[t]+G((m x[t])/(((((x[t])^2)+((y[t])^2)))^(3/2))) HeavisideTheta[Sqrt[((x[t])^2)+((y[t])^2)]-Rstar-0.1]+k HeavisideTheta[Rstar+0.1-Sqrt[((x[t])^2)+((y[t])^2)]] Sqrt[((x'[t])^2)+((y'[t])^2)] x'[t]==0,
y''[t]+G((m y[t])/(((((x[t])^2)+((y[t])^2)))^(3/2))) HeavisideTheta[Sqrt[((x[t])^2)+((y[t])^2)]-Rstar-0.1]+k HeavisideTheta[Rstar+0.1-Sqrt[((x[t])^2)+((y[t])^2)]] Sqrt[((x'[t])^2)+((y'[t])^2)] y'[t]==0,
x'[0]==vxkezd,x[0]==xkezd,
y'[0]==vykezd,y[0]==ykezd};
soln=NDSolve[eqns,{x[t],y[t],x'[t],y'[t]},{t,p,p+1}];
With[
{
pont=Evaluate[{x[t],y[t]}/.soln/.{t->p}][[1]],
seb=Evaluate[{x'[t],y'[t]}/.soln/.{t->p}][[1]]
},
Show[{
   If[ ex<1,  PolarPlot[(se/(1-ex Cos[u-theta0])),{u,0, 2*Pi},PlotRange->5,
Axes->True,
GridLines->Automatic],
PolarPlot[(se/(1-ex Cos[u-theta0])),{u,theta0+ArcCos[1/ex],2 π+theta0-ArcCos[1/ex]},PlotRange->5,
Axes->True,
GridLines->Automatic]
],
Graphics[
{RGBColor[1.0,0,0],
If[EuclideanDistance[{0,0},pont]<Rstar+0.1,Text[Style["Planet falls into star...", 16],{-3,3.5}],Point[{0,0}]],
RGBColor[1,.71,0],Disk[{0,0},Rstar],
Darker[Green,.4],
Disk[pont,0.1],
If[showforce,
{
RGBColor[1,.47,0],
Arrowheads[Small],
Arrow[{{pont[[1]],pont[[2]]},{pont[[1]]-(3 m pont[[1]])/((EuclideanDistance[{0,0},pont])^3),pont[[2]]-(3 m pont[[2]])/((EuclideanDistance[{0,0},pont])^3)}}],
Text[Style[F, Medium],{pont[[1]]-(3.1 m pont[[1]])/((EuclideanDistance[{0,0},pont])^3),pont[[2]]-(3.1 m pont[[2]])/((EuclideanDistance[{0,0},pont])^3)}]
},
Point[{0,0}]
],
If[
showvelocity,
{
ColorData["HTML", "SlateBlue"],
Arrowheads[Small],
Arrow[{pont,{pont[[1]]+seb[[1]],pont[[2]]+seb[[2]]}}],
Text[Style[v, Medium],{pont[[1]]+1.2 seb[[1]],pont[[2]]+1.2 seb[[2]]}]
},
Point[{0,0}]
]
}
]
},
ImageSize->{390,390}
]
]
],
Style["initial position and velocity:",Bold,"Label"],
{{xkezd,3,Subscript["x",0]},-4,4,.01,Appearance->"Labeled",ImageSize->Tiny},
{{ykezd,0.1,Subscript["y",0]},-4,4,.01,Appearance->"Labeled",ImageSize->Tiny},
{{vxkezd,0.1,Subscript["x'",0]},-4,4,.01,Appearance->"Labeled",ImageSize->Tiny},
{{vykezd,0.6,Subscript["y'",0]},-4,4,.01,Appearance->"Labeled",ImageSize->Tiny},
Delimiter,
{{showforce,False,"show gravity force"},{True,False}},
{{showvelocity,False,"show velocity"},{True,False}},
{{p,0,"go!"},0,Infinity,ControlType->Trigger},
AutorunSequencing->{1,2,3,4},TrackedSymbols-> Manipulate]

Mudeli puudused : Seaduste tuletamisel ei arvestata planeetide vahelise interaktsiooniga ning eeldatakse, 
et piirjuhul ((Subscript[m, planeet])/(Subscript[m, päike]))->0. Kepleri seadused moodustavad hea mudeli arvutamaks planeetide, mis ei erine
liialt nendest piirangutest, orbiite.

Peaaegu sajand hiljem tõestas Isaac Newton, et Kepleri seadused kehtivad kindlatel ideaalsetel tingimustel, mis piisavalt hea lähendusega esinevad Päikesesüsteemis, ja tulenevad Newtoni kolmest seadusest ja gravitatsiooniseadusest. Kuna planeetidel on mass ja massist tulenev liikumise perturbatsioon, kehtivad Kepleri seadused ainult ligikaudselt ja ei kirjelda täpselt Päikesesüsteemi sisemist liikumist.

Miks kasutatakse mudeleid

Modelleerimist rakendatakse siis, kui originaali vahetu uurimine on liiga kulukas, 
liiga raske või eetiliselt lubamatu.  (Allikas: EE 6. köide, artikkel “modelleerimine”)

Mudel on enamasti lihtsam ja väiksem kui originaal

Mudel on suhteliselt lihtne võrreldes originaaliga, mudeli saab vabastada mitteolulisest infost (linnaplaan vrs reaalne linn), olulise info saab kergemini välja tuua (näiteks kaardikihid).

Mudelite manipuleeritavus

Olulist infot on tänu mudelite lihtsusele kerge muuta. Mudeli puhul saab laias ulatuses muuta sisendparameetreid ja uurida, mis juhtub väljundparameetritega, reaalsete süsteemidega pole see sageli võimalik.

Väiksem aja- ja rahakulu

Katse ja eksimuse meetodi rakendamine originaali peal kulutab aega, 
on tihti kallis ja seotud suurte väljaminekutega.

Vähem katastroofe ja hukkunuid

Paljudel juhtudel võib reaalses situatsioonis tehtavatel katsetel ja õppimisel olla ka fataalsed tagajärjed.
Mudeli peal õppides saab selliseid tagajärgi vältida.

Mis on matemaatiline modelleerimine

Matemaatiline modelleerimine on modelleerimine, mille puhul luuakse ja uuritakse matemaatilisi mudeleid.

Matemaatiline modelleerimine seisneb uuritava nähtuse formaliseerimises, tema kohta matemaatilise mudeli koostamises, mudeli parameetrite hindamises, selle mudeli käitumise uurimises, mudeli abil uuritava nähtuse käitumise prognoosimises, jm.  (Allikas: Vikipeedia, artikkel "matemaatiline modelleerimine)

Matemaatilise modelleerimise kasutamisest erinevates teadustes

Matemaatilist modelleerimist on kasutatud rohkemal või vähemal määral kõigis teadusharudes.

Täppisteadustes, mis tuginevad kvantitatiivsetele meetoditele ja matemaatilisele teooriale, on 
matemaatiline modelleerimine möödapääsmatu ja tavapärane nende teaduste sünnist saadik.

Sotsiaalteadustes ja humanitaarteadustes, mis valdavalt toetuvad kvalitatiivsetele meetoditele, 
on matemaatiline meetod üks uurimisvahend mitmete teiste hulgas. Matemaatiline modeleerimine 
sai populaarseks meetodiks sotsiaal- ja humanitaarteadustes eriti alates 1960-ndaist aastaist. 

Immanuel Kant: "Iga teadus on teadus niivõrd, kuivõrd see kasutab matemaatikat".

Matemaatiliste mudelite liigitamisest

Pidevad mudelid - diskreetsed mudelid

Pidevate suuruste eripära

Pidev suurus võib omandada kõiki väärtusi mingist lõplikust või lõpmatust vahemikust.
Kui joon on pidev, siis saab seda paberile joonistada ilma pliiatsit paberilt tõstmata. 
Klassikalised elementaarfunktsioonid on oma määramispiirkonnas pidevad.
Pidevate suuruste puhul leitakse tuletist ja integraali, kasutatakse diferentsiaalvõrrandeid.

Manipulate[
Module[{x,y,soln,eqns,t,xmax,ymax},
eqns={x''[t]==-κ x'[t],x'[0]==v*Cos[θ],x[0]==0,y''[t]==-g-κ y'[t],y'[0]==v*Sin[θ],y[0]==h};
soln=Flatten[Quiet@NDSolve[eqns,{x,y},{t,0,Infinity},Method->{"EventLocator","Event"->y[t],"EventAction":>Throw[tf=t,"StopIntegration"],"Direction"->-1},MaxSteps->Infinity]];
ymax=First@Quiet@FindMaximum[{y[t]/.soln,0≤t≤tf},{t,tf/2}];
xmax=x[tf]/.soln;
Labeled[Show[{ParametricPlot[{x[t],y[t]}/.soln,{t,0,Min[tf,end]},AxesOrigin->{0,0},ImageSize->{400,300},PlotRange->{{0,Max[1.1xmax,1.1ymax]},{0,Max[1.1xmax,1.1ymax]}},AxesLabel->{Style["x(t)",Italic,Bold,"Label"],Style["y(t)",Italic,Bold,"Label"]},ImagePadding->28],Graphics[{Darker[Green],Disk[(({x[Min[tf,end]],y[Min[tf,end]]}/.soln)),Scaled[.01]]}]}],Style[Row[{"liikumise aeg: ",tf," s",Spacer[30],"max kõrgus: ",ymax," m"}],"Label"]]],{{v,10,"algkiirus"},.1,30,Appearance->"Labeled"},{{θ,Pi/4.,"nurk (rad)"},.001,Pi/2.,Appearance->"Labeled"},{{h,10,"algkõrgus"},.001,20,Appearance->"Labeled"},{{g,9.8,"konstant g"},3,20,Appearance->"Labeled"},{{κ,.726,"õhutakistustegur"},0,1,Appearance->"Labeled"},{{end,.001,"animeeri"},.001,Dynamic[tf],ControlType->Trigger},{{end,.001},.001,2.49,ControlType->None},AutorunSequencing->{7},SaveDefinitions->True,Initialization:>{tf=Infinity},TrackedSymbols:>{θ,h,g,κ,end}]

Diskreetsete suuruste eripära

Diskreetne suurus võib omandada lõpliku või loenduva hulga isoleeritud väärtusi, 
mis erinevad üksteisest mingi lõpliku arvu võrra. Tihti on diskreetsete suuruste 
väärtusteks täisarvud. Diskreetseid suurusi kirjeldatakse jadade abil. 
Diskreetsete suuruste puhul kasutatakse diferentsiaalvõrrandite asemel diferentsvõrrandeid.

Manipulate[
u=Table[a*r^(i-1),{i,n}];
S=Table[Sum[u[[i]],{i,j}],{j,n}];
plotSet={If[showSeq,u,{,}],If[showSum,S,{,}]};
ListPlot[plotSet,PlotMarkers->Automatic,PlotStyle->{Red,Blue},ImageSize->{500,300},ImagePadding->{{35,10},{10,10}}],
{{n,25,"jada liikmeid"},5,100,1,Appearance->"Labeled"},
{{r,0.5,"jada tegur"},-1.5,1.5,Appearance->"Labeled",Exclusions->0},
{{a,10,"esimene liige"},-10,10,Appearance->"Labeled"},
{{showSeq,True,"näita jada liikmeid (punased täpid)"},{True,False}},
{{showSum,True,"näita jada summat (sinised täpid)"},{True,False}},
AutorunSequencing->{2},TrackedSymbols->True
]

Lineaarsed mudelid - mittelineaarsed mudelid

Lineaarsed mudelid

Kui katseandmeid saab kirjeldada regressioonisirge abil, 
siis on meil tegemist lineaarse regressiooniga.

Lineaarne planeerimine

Lineaarse planeerimise ülesannete puhul on näiteks tootmisülesannete, transpordülesannete või kasvõi optimaalse toiduratsiooni ülesannet puhul tegemist piiravate tingimustega. Piiratud on varud, tootmiseks kasutatav energia, tööjõuressursid. Need piiravad tingimused on esitatavad tavaliselt kas võrratuste või võrrandite abil. Planeerimisülesandel on eesmärk - näiteks teenida võimalikult suurt kasumit. See eesmärk on esitatav sihifunktsiooni abil. Juhul kui ka sihifunktsioon on lineaarne funktsioon, siis saamegi lineaarse planeerimise ülesande.

Mittelineaarsed mudelid

Mittelineaarsete mudelite puhul võib olla tegemist seostega, mida ei saa sirgete abil esitada (astme-, eksponent-, logaritm-, trigonomeetrilised vms funktsioonid.

Sellistel juhtudel võib kasutada mittelineaarset regressiooni.

Mittelineaarsete mudelite puhul võivad tekkida olukorrad, kus väikesed muutused algandmetes 
võivad põhjustada suuri muutusi lõppresultaatides. Tekib nn kaos.

Deterministlikud mudelid - stohhastilised mudelid

Deterministlikud mudelid

Deterministliku mudeli puhul on lõpptulemus ära määratud algandmetega. Ühede ja samade algandmete korral saame alati ühed ja samad lõpptulemused. Klassikaline mehhaanika on vägagi deterministlik.

Stohhastilised mudelid

Stohhastilise mudeli (ka statistilise mudeli või tõenäosusliku mudeli) puhul ei ole lõpptulemused üksüheselt ära määratud algandmete poolt, Sellised mudelid arvestavad ka juhuslikkusega ja kasutavad erinevaid tõenäosusjaotusi.

BuffonsNeedle[r_,{x_,y_},n_]:=Module[
{
data=Table[{{x Random[Real],y Random[Real]},π Random[Real]},{n}],
lines,hits,misses
},
Graphics[lines=(Function[s,First[#]+s  r/2 Through[{Cos,Sin}[Last[#]]]]/@{1,-1})&/@data;
{
Line[{{#,0},{#,y}}]&/@Range[0,Ceiling[x]],
PointSize[.01],
{misses,hits}=Map[Last,Split[Sort[Transpose[{Abs[Subtract@@(Floor/@First/@#)&/@lines],lines}]],(First[#1]==First[#2]&)],{2}];
Transpose[{
{RGBColor[1,.47,0],RGBColor[.67,.75,.15]},
{Line/@#}&/@{hits,misses}
}]
}, PlotLabel-> Column[{
Style[
Row[{"hit ratio: ",ToString[TraditionalForm["hits"/"N"]]," = ",With[{a=Length[hits],b=n},HoldForm[a/b]]," ≈ ",ToString[Round[100Length[hits]/n]],"%"}],"Label"],
Style[
Row[{"π"," ≈ ",ToString[TraditionalForm[("2 × L × N")/"hits"]]," = ",With[{a=Length[hits],b=n, c=r},HoldForm[(2c b)/a]]," ≈ ",ToString[N[2n r/Length[hits]]]}],
"Label"]}],PlotRange->{{-1/2,x+1/2},{-1/2,y+1/2}},ImageSize->{400,300}]
];

Manipulate[SeedRandom[sr];BuffonsNeedle[length,{10,6},needles],{{needles,200,"number of needles (N)"},20,1000,1,Appearance-> "Labeled"},{{length,.6,"needle length (L)"},.25,1,Appearance-> "Labeled"},{{sr,12,"random seed"},1,100,1},SaveDefinitions->True]

Staatilised mudelid - dünaamilised mudelid

Staatilised mudelid

Staatilised mudelid püsivad tasakaalus selles mõttes, et mudeli käitumine ei sõltu ajast, on alati ühesugune. Näiteks Ohmi seadus, Hooke seadus jne.

Dünaamilised mudelid

Dünaamilise mudeli puhul sõltub süsteemi olek ajast. Tüüpiliseks näiteks on populatsiooni logistilise kasvu mudel.
Dünaamiliste mudelite puhul ei ei ole mõnede protsesside kiirus (tuletis) konstantne, seepärast kasutatakse diferentsiaal- ja diferentsvõrrandeid. Järgnevalt näeme ühte perioodiliselt levivate viirushaiguste leviku mudelit.

Remove["Global`*"]

f[b_,T_,t_]:=b (1+Sin[2 Pi t/T])

Manipulate[Module[{eqns,vars,solns,r,show1,show2},
eqns={S'[t]==m-f[b,T,t] Inf[t] S[t]-m S[t],Inf'[t]==f[b,T,t] Inf[t] S[t]-g Inf[t]-m Inf[t],Inf[0]==Inf0,S[0]==1.-Inf0};
vars={S,Inf};
solns=Quiet@NDSolve[eqns,vars,{t,0,tau},PrecisionGoal->2];
r=Quiet@Integrate[f[b,T,t]/T,{t,0,T}]/(m+g);
show1=Show[
Plot[1-s,{s,0,1},PlotRange->{{0,1},{0,1}},PlotStyle->{Black},Frame->True,FrameLabel->{Row[{"suceptible, " ,Style["S",Italic]}] ,Row[{"infected, ",Style["I",Italic]}]}],
ParametricPlot[{S[t],Inf[t]}/.solns,{t,0,tau},PlotStyle->{Thick},ImagePadding->All],
Graphics[Text[Style[Row[{"reproduction number = ",NumberForm[r,{5,3}]}],{Medium}],{0.3,0.77},Left]]
];
show2=Show[
Plot[1,{s,0,1},PlotRange->{{0,All},{0,1}},PlotStyle->{Black},Frame->True,FrameLabel->{"time",Row[{Style["S  ",Blue,Medium,Italic],Style["  I ",Red,Medium,Italic],Style["  R",Darker@Green,Medium,Italic]}]}],Plot[{S[t]/.solns,Inf[t]/.solns,(1-S[t]-Inf[t])/.solns},{t,0,tau},PlotStyle->{{Thick,Blue},{Thick,Red},{Thick,Darker@Green}},Filling->Axis,ImagePadding->All]];
GraphicsRow[{show2,show1},ImageSize->590]
],
{{tau,10.,"time t"},10,300,Appearance->"Labeled",ImageSize->Tiny},
{{T,10.,"season length T"},5,30,Appearance->"Labeled",ImageSize->Tiny},{{Inf0,10.^-6.,"initally infected (Subscript[I, 0])"},10.^-6.,0.99,Appearance->"Labeled",ImageSize->Tiny},{{b,3.,"initial infection rate (Subscript[β, 0])"},10^-3,10,Appearance->"Labeled",ImageSize->Tiny},{{g,1,"recovery rate γ"},10^-3,5.,Appearance->"Labeled",ImageSize->Tiny},{{m,0.1,"death rate μ"},10^-2,0.999,Appearance->"Labeled",ImageSize->Tiny},SaveDefinitions->True,ControlPlacement->{Top},TrackedSymbols:>{tau,T,Inf0,b,g,m}]

Kirjandus

1. Dilwyn Edwards, Michael Hamson, "Guide to Mathematical Modelling", Palgrave MacMillan, 2001. 
2 .Evald Übi, Kadrin Keres, "Rakendusmatemaatika", TTÜ, Tallinn, 2013.
3. Vladimir Abtšuk, "Suurte väejuhtide saladus", Valgus, Tallinn, 1984.

Viiteid teistele:

Peep Miidla videoloeng ja Tartu Ülikooli Teaduskooli esitlus:
"Mis on matemaatiline modelleerimine?"

http://www.eava.ee/opiobjektid/mudel/loeng1.htm

http://www.ttkool.ut.ee/esitlusmaterjalid2/peep_miidla_matemaatiline_modelleerimine.pdf

Jüri Engelbrechti TTÜ loengukursus: "Matemaatilise modelleerimise alused" :

http://cens.ioc.ee/~je/matmod/

Aleksei Sharov "Quantitative Population Ecology":

http://alexei.nfshost.com/PopEcol/

Viiteid videodele:

https://vimeo.com/117893098/06ce5c0727

https://vimeo.com/118810460/7abbab53ba

https://vimeo.com/120667379/0ec3d02201

https://vimeo.com/121130624/69d477d598

https://vimeo.com/125042095/84a8f975e2