Dynamic and uncertainty
Uncertain variables propagate uncertainty samples during dynamic simulation. If an uncertain variable is used in a dynamic simulation, its uncertainty sample is calculated only once, in the initial time period.
Example: The following definitions model population changes over time:
Variable Population := Normal(30, 2)
Variable Birthrate := Normal(1.2, .3)
Time := 1 .. 10
Variable Pop_by_year := Dynamic(Population, Self[ Time - 1] + Birthrate)
The uncertainty samples for
Birthrate are each calculated once, at the initial time period. The same samples are then used for each subsequent time period.
If you want to create a new uncertainty sample for each time period (that is, resample for each time period), place the distribution in the last parameter of the Dynamic function. For example, replace
Birthrate with its definition in
An alternative way to create a new uncertainty sample for each time period is to make
Birthrate a dynamic variable:
Birthrate := Dynamic(Normal(1.2, .3), Normal(1.2, .3))
Pop_by_year := Dynamic(Population, Self[ Time - 1] + Birthrate)
An even cleaner but equivalent way is to define
Birthrate to use an identical independent distribution (i.i.d.) over Time:
- Dynamic Simulation
- The Over parameter for probability distributions.
Enable comment auto-refresher