Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
U
uva
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Taddeüs Kroes
uva
Commits
596700c1
Commit
596700c1
authored
14 years ago
by
Taddeüs Kroes
Browse files
Options
Downloads
Patches
Plain Diff
ModSim ass3 report: Added part about test functions.
parent
bf524d64
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
modsim/ass3/report/report.tex
+96
-0
96 additions, 0 deletions
modsim/ass3/report/report.tex
with
96 additions
and
0 deletions
modsim/ass3/report/report.tex
+
96
−
0
View file @
596700c1
\documentclass
[10pt,a4paper]
{
article
}
\usepackage
[dutch]
{
babel
}
\usepackage
[utf8]
{
inputenc
}
\usepackage
{
booktabs,graphicx,float,hyperref
}
% Paragraph indentation
\setlength
{
\parindent
}{
0pt
}
\setlength
{
\parskip
}{
1ex plus 0.5ex minus 0.2ex
}
% Disable hyperref border
\hypersetup
{
pdfstartview=
{
FitH
}
,
% fits the width of the page to the window
colorlinks=false,
% false: boxed links; true: colored links
}
\title
{
Modelleren, Simuleren
\&
Contin
\"
ue Wiskunde
\\
Opdracht 3: Euler, Runge-Kutta, ODE's
}
\author
{
Tadde
\"
us Kroes (6054129)
\and
Sander van Veen (6167969)
}
\begin{document}
\maketitle
\section
{
De opdracht
}
De opdracht bestaat uit twee delen: het eerste deel betreft het implementeren
van de Euler- en Runge-Kutta-methoden, in het tweede deel worden deze methoden
vergeleken en gebruikt om enkele ODE's te benaderen.
\section
{
Implementatie
}
We hebben de drie methoden volgens de gegeven functievoorschriften
ge
\"
implementeerd in C (zie het bestand
\emph
{
integration.c
}
). We hebben daarbij
een ``logger'' gemaakt die een rij waardes naar
\texttt
{
stdout
}
print. We
gebruiken dit als invoer voor het python-script
\emph
{
plot.py
}
, dat deze waarden
in een grafiek zet. Een voorbeelduitvoer is:
\begin{verbatim}
$
.
/
main
5
| .
/
plot.py gilpin.svg
\end
{
verbatim
}
Dit voert de integratie van ODE nr.
5
(
Gilpin's model
)
uit en plot de resultaten
in een grafiek welke wordt opgeslagen als de afbeelding
\emph
{
gilpin.svg
}
.
De implementatie van de integratiemethoden zelf is gedaan met behulp van de
pseudocode in het boek. Deze is volgens ons vrij duidelijk en daarom zullen we
er hier niet dieper op ingaan.
\section
{
Testfuncties
}
De testfuncties kunnen worden uitgevoerd met het programma
\texttt
{
.
/
test
}
(
bestand
\emph
{
test.c
}
)
. Dit bestand schrijft de log data naar
\texttt
{
/
dev
/
null
}
waardoor alleen de ``custom'' output wordt geprint. De data
op zich vinden we namelijk weinig interessant, we willen vooral weten wat de
waarden op
\texttt
{
t
1
}
zijn.
Van vier van de vijf functies berekenen we de beoogde waarden exact en
vergelijken deze met de waarden die het programma berekent, dit kan omdat de
functies redelijk eenvoudig zijn. Alle methoden benaderen de beoogde waarden
steeds beter naarmate we
\texttt
{
DT
}
kleiner kiezen, dus concluderen we dat de
methoden correct zijn ge
\"
implementeerd.
Een apart geval is de vierde testfunctie
(
\emph
{
``f
=
y
*
y, with t
0
starting at
-
1
and y
0
at
1
, integrating to t
=
1
(
this should not work, why?
)
''
}
)
. Deze
integratie lever voor alle methoden
\texttt
{
INFINITY
}
op, dit wordt veroorzaakt
door een verkeerd gekozen startwaarde y
0
.
We zien dat, vooral bij een grote
\texttt
{
DT
}
,
dat Euler verschilt van RK
2
en RK
4
. RK
2
ligt redelijk dicht bij RK
4
, ook bij
niet al te kleine waarden van
\texttt
{
DT
}
. RK
4
ligt het dichtst bij de exacte
waardes, we kunnen dus concluderen dat deze het meest nauwkeurig is
(
niet
verassend, want RK
4
voert de meeste operaties uit
)
.
\section
{
ODE's
}
\subsection
{
Harmonische oscillator
}
\subsection
{
Damped, forced harmonic oscillator
}
\subsection
{
Lottka
-
Voltera
}
\subsection
{
Modified predator
-
prey model
}
\subsection
{
PID controller
}
\subsection
{
Gilpin's Model
}
\end
{
document
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment