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.
x = f1(x,y) y = f2(x,y)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,
x = f1(t,x,y) y = f2(t,x,y)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:
y = f(x,t)en dus eigenlijk altijd geschreven moeten worden als
y(t) = f(x,t)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.
Gegeven het stelsel wiskundige vergelijkingen,
dx/dt = .... dy/dt = ....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,
dx/dt = .... dy/dt = .... z = ....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
dx/dt = ........................... dy/dt = ...........................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.
dx/dt = a*x + b*y + c*z dy/dt = d*x + e*y + f*z z = g*x + h*y + i*zkomt er na enige algebraische ingrepen als volgt uit te zien:
dx/dt = a*x + b*y + c*(g*x + h*y + i*z) dy/dt = d*x + e*y + f*(g*x + h*y + i*z)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.
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:
dg/dt = 10Dit 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?
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.
tijd: g: 0 [week] 100 [gulden] 1 110 2 120 3 130 4 140
In de figuur en in de tabel is te zien dat ...... enz. (Zie verder de colleges.)
Enschede, 30 aug. 1999. (CV 8/99)