Difference between revisions of "Dynamic and uncertainty"

Line 4: Line 4:
 
__TOC__
 
__TOC__
  
Uncertain variables propagate uncertainty samples during dynamic simulation. If an uncertain
+
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.
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:
 
'''Example:''' The following definitions model population changes over time:
Line 16: Line 15:
 
[[File:Chapter17_14.png]]
 
[[File:Chapter17_14.png]]
  
 
+
The uncertainty samples for <code>Population</code> and <code>Birthrate</code> are each calculated once, at the initial time period. The same samples are then used for each subsequent time period.
The uncertainty samples for Population and Birthrate are each calculated once, at the initial
 
time period. The same samples are then used for each subsequent time period.
 
  
 
==Resampling==
 
==Resampling==
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 Pop_by_year:
+
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 <code>Birthrate</code> with its definition in <code>Pop_by_year</code>:
  
 
  Pop_by_year := Dynamic(Population, Self[Time - 1] + Normal(1.2, .3))
 
  Pop_by_year := Dynamic(Population, Self[Time - 1] + Normal(1.2, .3))
  
An alternative way to create a new uncertainty sample for each time period is to make Birthrate a dynamic variable:
+
An alternative way to create a new uncertainty sample for each time period is to make <code>Birthrate</code> a dynamic variable:
  
 
  Birthrate := Dynamic(Normal(1.2, .3), Normal(1.2, .3))
 
  Birthrate := Dynamic(Normal(1.2, .3), Normal(1.2, .3))
Line 31: Line 28:
  
 
==See Also==
 
==See Also==
 +
* [[Dynamic]]()
 +
 +
 
<footer>Dynamic dependencies / {{PAGENAME}} / Dynamic on non-Time Indexes</footer>
 
<footer>Dynamic dependencies / {{PAGENAME}} / Dynamic on non-Time Indexes</footer>

Revision as of 08:23, 18 December 2015

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)

Chapter17 14.png

The uncertainty samples for Population and Birthrate are each calculated once, at the initial time period. The same samples are then used for each subsequent time period.

Resampling

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 Pop_by_year:

Pop_by_year := Dynamic(Population, Self[Time - 1] + Normal(1.2, .3))

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)

See Also


Comments


You are not allowed to post comments.