Discretetijdmodel
Een discretetijdmodel is een model waarin de tijd alleen waarden kan aannemen waartussen telkens een interval ligt: de tijdstap.
Voor de tijdstap, Δt, kan het volgende gelden:
- Δt is constant; dit kan gebruikt worden wanneer er geen onderscheid gemaakt hoeft te worden tussen gebeurtenissen, bijvoorbeeld als alleen het aantal aankomsten van auto’s van belang is; het aantal auto’s per tijdstap kan dan met een Poisson-verdeling worden gemodelleerd;
- Δt is variabel; dit kan gebruikt worden wanneer er onderscheid gemaakt moet worden tussen verschillende gebeurtenissen, bijvoorbeeld als er rekening gehouden moet worden met de restlading in de accu’s van auto’s bij een laadstation; de tussenaankomsttijd kan dan met een negatief-exponentiële verdeling worden gemodelleerd.
In een discretetijdmodel worden veranderingen in de tijd vaak weergegeven met een differentievergelijking. Zo kan bijvoorbeeld voor de snelheid van een (in vacuum) vallend voorwerp geschreven worden:
- vt+Δt = vt – g·Δt
waarin
- g: de valversnelling [m/s²]
Relatie met continuetijdmodel
Wanneer een differentiaalvergelijking voor een variabele bekend is (wat een continuetijdmodel is), kan deze worden herschreven tot een differentievergelijking. Bovenstaande differentievergelijking kan worden afgeleid uit de differentiaalvergelijking voor v:
- dv/dt = a = –g
Met een discrete tijdstap wordt dit:
- Δv / Δt = –g
ofwel:
- (vt+Δt – vt) / Δt = –g
dus:
- (vt+Δt – vt) = – g·Δt
waaruit de differentievergelijking volgt.
Voorbeelden
De onderstaande stroomdiagrammen laten twee discretetijdmodellen zien.
- In het linker diagram wordt het saldo in 2050 berekend van een rekening waarop in 2000 een bedrag van 1000 euro gezet is. De rente bedraagt 3%.
- Het rechter diagram laat de berekening zien van de beweging van een voorwerp dat op een hoogte van 10 meter wordt losgelaten.
Deze stroomdiagrammen hebben drie hoofdonderdelen:
- de initialisatie, waar de variabelen hun beginwaarden krijgen;
- de iteratie, waarin steeds de nieuwe waarden van de variabelen berekend worden;
- de conditie waarmee besloten wordt of er nog een iteratie nodig is.
Merk op: In de iteratie krijgen de variabelen nieuwe waarden volgens deze syntaxis:
- [variabelenaam] = [nieuwe waarde]
Het =-teken betekent hier dus niet "is gelijk aan" (want J kan bijvoorbeeld niet "gelijk zijn aan" J+1), maar "krijgt de waarde", of "wordt". In veel programmeertalen is dit een gebruikelijke notatie.