Modellen, modelvorming en model-dynamica

Om model-driven simulaties te kunnen maken als moderne, multimediale leermiddelen in het onderwijs, moeten TO-studenten toch iets af weten van modelvorming. In de D2-fase hebben TO-studenten het vak 'systeembenadering in de onderwijskunde' van Vos & Min gehad, dus het mag vooralsnog voor niemand een probleem zijn. Modelvorming is een belangrijke, aparte wetenschap. Het is een wetenschap die voorgekomen is uit de wiskunde. De modelvorming heeft pas na de oorlog, met de komst van de computer, een enorme vlucht genomen. Voor de uitvinding van de computer konden mathematici slechts door enorme moeilijke berekeningen en afleidingen te maken, een stelsel differentiaal vergelijkingen de baas. Dat was vaak maanden werk en dan had men alleen nog maar een of andere ingewikkelde algebraische formule, laat staan dat men dan ook al elke concrete outputwaarden ten opzichte van elke concrete of gegeven inputwaarde heeft.

Modellen waarover we hier spreken zijn altijd stelsels eerste orde differentiaal vergelijkingen. Het zijn dus nooit zomaar gewone algebraische vergelijkingen. Modellen van dit type noemen we namelijk dynamische modellen, want er zit minimaal minstens een eerste orde differentiaal vergelijking of integraal vergelijking in en ze zijn - zoals dat heet - niet analytisch op te lossen; ook niet (zomaar) met een computer. (De 'formules' zijn niet 'statisch'.) Differentiaal- of integraal-vergelijkingen zijn in dit verband hetzelfde. (Zie elders.) Derhalve moet je modellen met differentiaal- of integraal-vergelijkingen (dus) nooit gewoon een stelsel wiskundige of algebraische formules noemen, maar (dynamische) (wiskundige) modellen.

1. Soorten modellen

Stel een gewoon stelsel wiskundige vergelijkingen, Dan is dit gewoon een serie algebraische formules van het type y = f(x,y,...,a,b,...). De tijd, t, komt hier niet in voor. We noemen dit hier liever geen wiskundig model, maar gewoon een serie wiskundige of algebraische formules.

Het zelfde, gewone, stelsel wiskundige vergelijkingen,

kan ook de tijd bevatten. Dit is (ook) gewoon een serie wiskundige of algebraische formules. We noemen dit ook liever geen model, maar gewoon een serie wiskundige of algebraische vergelijkingen of formules; waar (ook) (toevallig) de tijd in zit. De waarden van al de voorkomende variabelen van dergelijke modellen kun je voor elke (aparte) parameter-waarde of voor elk (apart) tijdstip t 'gewoon' in een spreadsheet-programma uitrekenen. Als modellen in een spreadsheet-programma uitgerekend kunnen worden, is dat een belangrijk 'echtheids'-criterium.

Wij gaan er bij wiskundige modellen altijd vanuit dat als we x, y of z schrijven we x(t), y(t) of z(t) bedoelen. De variabelen zijn altijd van alle andere variabelen afhankelijk; dus we schrijven gewoon x, y of z.

Dit soort modellen kunnen altijd op een of andere makkelijke of soms moeilijke manier herleid worden tot:

en dus eigenlijk altijd geschreven moeten worden als d.w.z. y is een analytische oplossing - van x en t - in de tijd, dus: y(t,x).

Dit soort modellen zijn uitsteken grafisch weer te geven, soms in het xy-vlak, maar meestal gewoon in de tijd. We noemen dit grafisch weergeven van functies echter géén simulatie.

We noemen series van dit soort formules liever geen dynamische modellen, ondanks dat de tijd, de dynamiek, er een (belangrijke) rol in speelt. Omdat dit soort modellen altijd analytisch zijn op te lossen - en er geen kunstgrepen nodig zijn - willen wij ze onderscheiden van de 'echte', dynamische wiskundige modellen.

Een dynamisch wiskundig model

Echte model-driven simulatie gaat altijd gepaard met een dynamisch wiskundig model. Dit soort simulaties betreffen bijna altijd modellen die minstens een differentiaal vergelijking bevatten. Dat zijn de modellen die zich lenen voor computersimulatie, want dit soort modellen en hun gedrag zijn op een andere manier niet te begrijpen. Immers alle 'gewone' vergelijkingen zijn voor wiskundigen, natuurkundigen of biologen ook op papier 'gewoon' te begrijpen. Wil je 'niet-gewoon-op-papier-te-snappen' dingen leren begrijpen, dan stuit je altijd op modellen met differentiaal vergelijkingen. En die zijn zonder computers en zonder benaderingsmethoden niet uit te rekenen en dus niet te zien; dus niet te begrijpen. Behalve bij super-professionals. Inzicht in dergelijke fenomenen en modellen is dus niet zomaar op papier of zonder computer of zonder simulatiesysteem te verkrijgen. Bij dit vak moet je enige begrip hebben wat een differentiaal vergelijking binnen het geheel van een (complex) wiskundig model voor consequenties heeft.

Gegeven het stelsel wiskundige vergelijkingen,

als dynamische wiskundig model. Dit dynamisch model bevat altijd meer dan één differentiaal vergelijking. Hier twee: dx/dt en dy/dt. Voor een computer is in dit model de waarde van x en y niet zonder meer uit te rekenen. Laat staan voor elk gewenst tijdstip t1, t2 of t3, dwz. x(t1), x(t2) of x(t3), en y(t1), y(t2) of y(t3). Immers de oplossing is niet analytisch bekend en je kunt derhalve niet zomaar een waarde voor x of t nemen en de bijbehorende waarde van y uitrekenen. Daar is een schattingsmethode en een algoritme voor nodig. De methode die wij hanteren is meestal de methode van Euler en het algoritme is, in een hogere programmeertaal, in principe een (eindige) loop, namelijk een loop die stopt als de 'maximale gewenste' of 'ingestelde rekentijd' (Tmax) bereikt is.

Als men toch in staat is een stelsel diffferentiaal vergelijkingen algebraisch - op te lossen - en na veel algebraische toeren in staat is de differentialen uit de vergelijkingen te elimineren - dan spreekt men van een analytische oplossing van een stelsel differentiaal vergelijkingen. De vergelijkingen zijn dan in de vorm x = f1(t,x,y) en y = f2(t,x,y) op te schrijven. Zonder dx/dt en/of dy/dt. Soms kan dat. Vroeger was de algebraische oplossingsmethode de enige methode om iets te kunnen zeggen over een waarde van y voor een waarde van x of een waarde van t. Meestal kon je echter absoluut niets zeggen van een concrete waarde van een concrete variabele. Zowel niet theoretisch als praktisch.

Het stelsel wiskundige vergelijkingen,

is hier iets ruimer dan dat hiervoor: het bevat nog een of meerdere losse algebraische formules. Dat laatste is geen enkel (extra) probleem voor een computer of voor onze bereken-methode. Integendeel. Gewoon een formule doorrekenen kan een computer als de beste. Dus de berekening van z is het probleem niet. Dat is immers gewoon een (al dan niet complexe) formule.

Het voorgaande stelsel wiskundige vergelijkingen is eenvoudig om te werken naar het gewone stelsel eerste orde differentiaal vergelijkingen, namelijk

Het bevat nu allerlei weggewerkte formules en alleen de differentiaal vergelijkingen zijn nog te zien. Het moge duidelijk zijn dat de rechter leden van dit stelsel eerste orde differentiaal vergelijkingen veel complexer zijn (geworden) dan dat ze eerder waren.

Een voorbeeld

Het volgende voorbeeld komt er na enige algebraische ingrepen als volgt uit te zien: Bij bovenstaande modellen zijn x, y en z output-variabelen; zij worden immers (binnen)in het model berekend. Ze zijn allemaal een functie van de tijd. Je moet leren dit soort variabelen als volgt te lezen: x(t), y(t) en z(t). Output-variabelen staan in een wiskundig model per definitie links van het =-teken en staan daar in het algemeen in de dx/dt, dy/dt of dz/dt-vorm. Wij noemen die output-variabelen ook wel de endogene variabelen.

Dat wat rechts van het =-teken staat noemen we het rechter-lid van de betreffende differentiaal-vergelijking. Daar kan van alles in staan. Elke output-variabelen, input-variabele, constante of parameter kan daar op een of andere manier in voorkomen. Als er zowel een input- als een output-variabele in het rechter-lid voorkomt is er sprake van een model-loop. Model-loops zijn bij differentiaal vergelijkingen volkomen normaal en nooit een probleem. Echter bij een gewone rekenkundige, algebraische formule kunnen er wel eens rekenproblemen ontstaan. Dan noemen we dat een algebraische loop. Daar moet je soms wel eens even alert op zijn. (Zie daarover elders.) (Bij onze modellen in het practicum komt dat niet voor; alleen bij CARDIO.)

Modellen kunnen ook input-variabelen hebben, de zogenoemde exogene variabele: de 'van buiten komende variabelen'. Die variabelen worden niet in het model berekend maar zijn gegeven; zij komen (dan) dus in een van de rechter-leden voor. Soms komen ze zelfs als functie van de tijd in het model voor. Bijvoorbeeld als reeks in de tijd met een serie getallen. Bijvoorbeeld met jaartallen van jaren waarin van een zonsverduistering sprake was: 1999, 1982, 1896, etc.

2. De werking van modellen

Bij modellen als hier beschreven, is bijna nooit het verloop van een variabele in de tijd bekend. Hooguit het verloop van een input-variabele (een exogene variabele). In dit soort modellen met differentiaal vergelijkingen is - eigenlijk per definitie - alleen maar de toename (delta y) in een formule of een model of een getal uit te drukken: delta y tov. delta t en zijn de variabelen x(t), y(t), z(t), etc. zelf niet gegeven of te achterhalen. Immers een differentiaal vergelijking (van x of y) wil - per definitie - zeggen dat het rechter-lid bepaalt wat de toename (van x of y) is. Het rechter-lid is hooguit op te vatten als een model: een model van de toename.

Grafisch gezien, weten we alleen dat we op een zeker moment (bijv. t1) willen weten wat de variabelen x(t2) en y(t2) na dat tijdstip gaan doen. We weten de wiskundige formules van x en y en hun absolute waarden niet. We weten alleen de wiskundige formules van de toename van x en y. En nog wat randvoorwaarden.

In het boek "Computersimulatie als leermiddel" van Min (1987) is gekozen voor een voorbeeld van een watertank met een instroom- en een uitstroom-optie. Met een constante toename van de in- en uitstroom. Bij dat voorbeeld wordt voornamelijk uitleg gegeven van een integraal vergelijking als model. Bij het vak 'Systeembenadering in de onderwijskunde' van Vos & Min wordt uitgebreid ingegaan op het fenomeen differentiaal vergelijkingen, met name bij diffusie-modellen en bij het broadcast-model. Hier kiezen we - voor de afwisseling - een voorbeeld over sparen en geld uitgeven. Iemand heeft een hoeveelheid geld (g) in zij portemonnee en krijgt per week van zijn ouders 10 gulden zakgeld. Dat is dus te vergelijken met een soort constante 'instroom'. We kunnen de hoeveelheid geld (g) echter prima berekenen uit de instroom (per week). Er zijn met dat model allelei simulaties denkbaar, bijvoorbeeld: gedurende een bepaalde perode geeft hij geen of weinig geld uit en spaart; soms geeft hij wel geld uit en kan de persoon in kwestie zelfs platzak worden.

Dit is een typisch voorbeeld van een wiskundig model met één differentiaal vergelijking: een stelsel van één eerste orde differentiaal vergelijking en een heel eenvoudig rechter lid: namelijk de toename van g, die is constant, dwz. 10 [gulden / week]. We weten niet de absolute hoeveelheid geld, g(t1) of g(t2), waarover hij beschikken kan, de hoeveelheid geld in zijn portemonnee op bepaalde momenten, t1 of t2.

Gegeven is slechts dat iemand 10 gulden per week zakgeld krijgt. Het rechter lid is (dus) een constante. Het model ziet er (dan) als volgt uit:

Dit is een voorbeeld over zakgeld krijgen en dus een model over geld. Gevraagd: wat is de hoeveelheid geld die hij (bijvoorbeeld) na een maand op zak heeft?


De eerste vraag is hoe moeten wij dit model (dg/dt = 10) intepreteren? Een tweede vraag is: wat gebeurt er in de tijd en hoe kunnen we dat grafisch weergeven? Je ziet dat er nog een belangrijk gegeven ontbreekt.

Je moet namelijk weten en dus nagaan hoeveel geld er al in zijn portemonnee zat of - wat ook kan - hoeveel er uiteindelijk in zijn portemonnee zit. De eerste waarde noemen we de startwaarde. De laatste waarde is de waarde die we willen voorspellen of waarmee je soms kunt terugrekenen.

Een voorbeeld met getallen

Als je uitgaat dat deze persoon op het tijdstip t1 100 gulden in zijn portemonnee heeft, dan heeft hij na een week 110, na twee weken 120 en na 4 weken daar 140 gulden in. De voorspelde hoeveelheid geld, g(t2), is dan 140 [gulden]. We noemen dt de stapgrootte of delta t. De stapgrootte is bij dit model een week. De toename van g is per dt is 10 en die toename duiden we aan door dg. In onderstaande figuur is dat te zien dat de totale toename van de tijd 4 [weken] is en de toename van het geld ook 40 [gulden].


In tabelvorm is dat:

In de figuur en in de tabel is te zien dat ...... enz. (Zie verder de colleges.)

Enschede, 30 aug. 1999. (CV 8/99)