3e8.nl

Modelleren

Leestijd: circa 8 minuut.

❱Deze webpagina gaat over rekenkundig modelleren waarin een set rekenregels een (beperkt) systeem beschrijft. Zeker als je begint met modelleren, raad ik Thom Koooij’s website modelleertaal aan. Kooij leert je heel snel modelleren en hanteert alle coach-commando’s die je ook in een examen tegenkomt.

1 Wat is modelleren?

Een model is een beperkte weergave van de werkelijkheid dat slechts delen daarvan beschrijft, toont of voorspelt.

Albert Einstein legde uit dat de natuurkunde slechts modellen maakt. Hij zei zoiets als: ‘Natuurkunde is als het willen begrijpen van een horloge dat niet te openen is. Je kunt kijken naar de wijzers, luisteren naar het tikken van een mechanisme en je kunt allerlei uitwendige experimenten doen met het horloge. Op deze manier vorm je een model over het inwendige van het horloge en over hoe het horloge mogelijk werkt. Hoe het horloge echt functioneert, komen we nooit te weten’.

Volgens Einstein was dat ook zo met de natuur. Alle (natuurkundige) kennis die we verkrijgen over de natuur, levert slechts een model van de werkelijkheid op.

Een model kan eenvoudig zijn zoals bij de beschrijving van een val, of ingewikkeld zoals bij de beschrijving van de bewegingen van meteorieten rond de zon.

1.1 Voorbeeld van rekenmodel

Een voorbeeld maakt duidelijk wat modelleren is.

Aristoteles’ val

In een poging te begrijpen hoe vallende voorwerpen bewegen, meende Aristoteles in 400 voor Christus dat grotere massa’s $m$ een grotere versnelling $g$ ondergaan. De versnelling is evenredig met de massa: $g \propto m \rightarrow g = k \times m$ met $k$ een evenredigheidsconstante. Dit model is redelijk in staat om bijvoorbeeld de valbeweging te beschrijven van voorwerpen in water: Daarbij is te zien dat grotere massa’s inderdaad minder snel vallen; zie figuur m.1.

Schermopname een tekst-model met aristoteles’ valmechanica
Figuur m.1 Een model van een val waarbij de versnelling afhangt van de massa, zoals Aristoteles voorstelde in 400 v. Chr. Grijs de kleine massa en blauw de grote massa, model in Thom Koooij’s modelleertaal.

Newtons val

Dankzij Newton kun je nu Aristoteles’ makkelijk verbeteren. Newton toont aan dat alle voorwerpen op het aardoppervlak dezelfde versnelling ondergaan. Je kunt het model van figuur m.1 aanpassen door: (a) de regel $g \propto m$ te verwijderen, en (b) in de rechterkolom $g=9,81$ toe te voegen.

En ook dit model is nog beperkt. Het beschrijft immers alleen maar een vrije val op het oppervlak van de aarde. In een nog verder verbeterd model betrek je ook de wrijvingskracht: $F_w=½\, C_w A \rho v^2$, enzovoort.

Aanpassing

Het aanpassen en verbeteren van een model is de manier waarop de natuurkunde werkt: Een eerste model is slechts beperkt geldig en kan alleen maar ongeveer of sommige verschijnselen verklaren. Daarna komen vaak de verfijningen.

1.2 Werkwijze

Modelleren doen wetenschappers vaak als ze (een deel) van de werkelijkheid vereenvoudigd representeren om die te kunnen beschrijven, verklaren en voorspellen. Modelleren levert enorm veel op. Een niet volledige opsomming: (a) modelleren geeft inzicht in de onderliggende natuurkunde; (b) modelleren geeft zicht op hoe een systeem zich ontwikkelt in de tijd, (c) met modelleren kun voorspellingen/verklaringen en afwijkingen zien, (d) je kunt makkelijk de effecten van veranderde beginwaarden onderzoeken, (e) je kunt makkelijk veel verschillende uitkomsten van modellen genereren, (f) modelleren levert een zogeheten numerieke oplossing en die is altijd mogelijk (in tegenstelling tot het vinden van analytische oplossingen), (g) rekenkundig modelleren is goedkoop: Je hebt uitsluitend een computer nodig (en geen laboratorium vol met spullen), enzovoort.

Modellen kom je op heel veel plekken tegen: In de vele spelletjes op je mobiel, het cbs rekent aan de Nederlandse economie, Buienradar voorspelt het weer, energiebedrijven voorspellen het energieverbruik, de who voorspelt welke hoe virussen zich verspreiden, medici hoe de hersenen werken, met een vliegsimulator laat je een vliegtuig bewegen in de tijd (en ruimte), natuurbehoud simuleert ecosystemen enzovoort. Zelfs het viraal-gaan van een tweet kun je modelleren.

2 Dynamische modellen: Evolutie

Een kenmerk van de klassieke natuurkunde is dat je uitgaande van een beginsituatie kunt uitrekenen hoe een systeem evolueert/ontwikkelt/groeit/update in de tijd.

Je weet bijvoorbeeld de plaats en de snelheid van een voorwerp op een bepaald tijdstip en dan kun je uitrekenen waar het voorwerp later is. Bij beweging gebruik je de wetten van Newton. Als je bijvoorbeeld weet vanaf welke hoogte een appel valt, kun je met het model $F_{\text{res}}=ma$ precies uitrekenen waar de appel op ieder later tijdstip is.

Dit ontwikkelen in de tijd is wat je met dynamisch modelleren doet: Vanuit een start-toestand op een begintijdstip $t$ reken je naar een volgende toestand op een later tijdstip $t+dt$. Bij een val evolueer je dan bijvoorbeeld de plaats $x$: \begin{equation} (x_{\text{eerst}},t) \rightarrow (x_{\text{later}},t+dt).\tag{m.1} \end{equation} Naast plaats kun je natuurlijk ook allerlei ander grootheden updaten.

Een dynamisch model bevat altijd de onafhankelijke variabele tijd $t$ die in je in kleine stapjes $dt$ laat groeien. Telkens bereken je dan de andere afhankelijke variabelen. Dit herhaald bereken is het kenmerk van een zogenaamde iteratieve aanpak: Je herhaalt een serie berekeningen telkens met een iets veranderde waarde.

In grote lijnen heeft een dynamisch model altijd dezelfde structuur: (1 + 2) Definieer de beginwaarden van de variabelen, (3) definieer de stapgrootte $dt$, (4) bepaal hoe vaak je de rekenregels laat herhalen, (5) geef de evolutie- of rekenregels van je model, (6) update de onafhankelijke variabele. Deze stappen vormen in grote lijnen de basis (denk aan een recept) van ieder rekenmodel dat een computer aanbiedt. In een modeltaal zou dat er ongeveer zo uitzien:

1. definieer beginwaarden van de variabelen
2. definieer startwaarden van t0 = ...
3. definieer de stapgrootte dt = ...
4. herhaal tot ...
5.    model- of rekenregels
6.    t = t + dt

Onder andere de laatste regel bevat een recursieformule: t=t+dt. Dit kun je lezen als: Nieuw = Oud + toename. Het aantal herhalingen in de vierde regel kun je laten lopen tot bijvoorbeeld een van te voren vastgesteld aantal keer (bijvoorbeeld herhaal 2000x) of tot de grootte van een variabele is bereikt (bijvoorbeeld herhaal tot $t=100$ s of herhaal tot $v < 25$ m/s).

Een aantal tips voordat je start met modelleren.

Voorbeeld i: Snelheid van een versneld voorwerp

Een voorwerp ligt stil ($v=0$ m/s op $t_0=0$). Vervolgens krijgt het een versnelling van $a=1,3 \, \text{m/s}^2$. Dat houdt in dat de snelheid iedere $\Delta t = 1$ seconde met $\Delta v = 1,3$ m/s toeneemt: \begin{align*} t=0 & \quad v = 0 \, \text{m/s},\\ t=1 & \quad v = 1,3 \, \text{m/s},\\ t=2 & \quad v = 2,6 \, \text{m/s},\\ ...& \tag{m.3} \end{align*} Om in een model telkens de nieuwe snelheid uit te rekenen, hanteer je hier de rekenregel (recursieformule): \begin{equation} v_{\text{nieuw}}=v_{\text{oud}} + a \times \Delta t=v_{\text{oud}} + 1,3 \times \Delta t. \tag{m.4} \end{equation}

Het zal duidelijk zijn dat dit herhaald/iteratief rekenen een saai klusje is en daarmee uitstekend geschikt is voor een computer. Je kunt dit voorbeeld zo in een rekenvel stoppen, zie figuur m.2.

Schermopname van een model in een spreadsheet
Figuur m.2 Voorbeeld I: Versnelling in een spreadsheet. Let op dat de stapgrootte hier 0,11 s is. De recursieformule voor de snelheid is: $v_2=v_1+ a * dt$; en voor de afstand: $s_2=s_1+\text{1/2} * v_2*dt$.

Voorbeeld ii: Afkoeling van een voorwerp

De afkoeling van een voorwerp in de tijd blijkt evenredig te gaan met de temperatuur van het voorwerp $T$. Met andere woorden: Hoe hoger de temperatuur ten opzicht van zijn omgeving, hoe groter de daling $\Delta T$: \begin{equation} \frac{\Delta T}{\Delta t} \propto -T \quad \rightarrow \quad \frac{\Delta T}{\Delta t} = - k\,T,\tag{m.5} \end{equation} waarbij $k$ een evenredigheidsconstante is. Dit kun je omschrijven tot een numeriek rekenmodel waarbij een recursieformule ontstaat: \begin{align*} \Delta T &= - T\,k\, \Delta t,\\ T_2-T_1 & = -T_1 \, k\, \Delta t, \tag{m.5a}\\ T_2 & = T_1 - T_1 \, k \, \Delta t, \end{align*} met $\Delta t$ de tijdstap. Figuur m.3 toont het model en een uitkomst in Tom Kooij’s webapp: modelleertaal.

schermopname van een tekstmodel over afkoeling
Figuur m.3 Model van een afkoeling. Webapp van Tom Kooij’s webapp: modelleertaal.

3 Modelomgevingen

Er zijn veel mogelijkheden om met de computer te modelleren. Op school kom je meestal Coach tegen; maar er zijn heel veel meer (en betere?) omgevingen. Ik zei het al eerder, als je begint is Tom Kooij’s webapp: modelleertaal zeer geschikt, daarmee leer je alles wat je nodig hebt op je examen. Heb je eenmaal de smaak te pakken dan kun je coach gebruiken of misschien wil je dan liever naar Python.

3.1 Rekenvel

Het voorbeeld van een versnelde beweging zoals uitgewerkt in figuur m.2, toont hoe je een rekenvel kunt gebruiken om te modelleren. Rekenvellen kom je tegen bij LibreOffice, Microsoft Excel, of online in google-drive.

3.2 Kooij

Tom kooij’s modelleertaal leert je snel en doelmatig modelleren. Bovendien hanteert de app dezelfde taal/methode/vormgeving die je op examens ook tegenkomt. Als je de app start (zie figuur m.3 en alle modellen in deze site), kom je direct bij het tekstscherm waar je kunt beginnen met programmeren. Zodra je wilt, laat je het programma runnen (de RUN!-knop linksboven).

Wat tips om handig te werken met Kooij’s modelleertaal:

3.3 Coach

Een voordeel van Coach is dat je kunt runnen in een tekst- of in een grafische omgeving, beide doen hetzelfde. Onderzoek laat zien dat beginners het idee van modelleren snel begrijpen als ze in de grafische-modus starten.

Coach7 biedt uitgebreide online-hulp. Als je geheel nieuw bent met het programma, start dan met de web-hulp en begin met: (a) Aan de slag>eerste stappen; en doorloop daarna (b) Modelleren.

schermopname van coach: Grafisch model van afkoeling
Figuur m.4 Model van de afkoeling van een voorwerp in de grafische omgeving van coach7. Duidelijk is zichtbaar de vooruit-koppeling: Temperatuur heeft invloed op de warmtestroom. De startwaarde zitten in de verschillende blokken.

Je kunt nu het model in coach zetten. Let op het verschil tussen variabelen die van de tijd afhankelijk zijn (rechte blokken) en hulpvariabelen die een vaste waarde hebben (cirkels). De pijlen geven een verandering aan.

De tekst-omgeving start je op door in het modelvenster te kiezen voor Tekstmodus.

schermopname van coach: tekstmodel van afkoeling
Figuur m.5 Model van de afkoeling van een voorwerp (voorbeeld II) in de tekst-omgeving van coach7. Het model bevat twee vensters: Links de rekenregels, en rechts de begin- of startvoorwaarden en de constanten. De starttijd is hier $t=0$, de stapgrootte $dt=0,1$ en begintemperatuur is $T=100$.

Wat tips om handig te werken met coach:

3.4 Python

De computertaal Python is zeer uitgebreid, wordt in de wetenschap erg veel gebruikt en is ook nog een gratis te gebruiken (en is ontwikkeld door de Nederlander Guido van Rossum). Bijvoorbeeld werkt dat handig via google-colaboratory. Heb je toevallig een google-account (ja als je gmail gebruikt), dan kun je python-programma’s makkelijk bewaren.

4 Alle modellen op 3e8.nl

laatste aanpassing: 11-11-2019