Trigger
Event trigger
Description
Trigger
is a property of an Event
object
A Trigger
is a condition that must become
true for an event to execute. You can use a combination of relational
and logical operators to build a trigger expression. Trigger
can
be a character vector, an expression, or a function handle that when
evaluated returns a value of true
or false
.
A Trigger
can access species, parameters, and compartments.
A trigger can contain the keyword time
and
relational operators to trigger an event that occurs at a specific
time during the simulation. For example, time >= x
.
In this example trigger, note that:
The units associated with the keyword
time
are the units for theTimeUnits
property for theConfigset
object associated with the simulation.If
x
is an expression containing compartments, species, or parameters, then any units associated with the expression must have the same dimensions as the keywordtime
.If
x
is a raw number, then its dimensions (and units, if unit conversion is on) are assumed to be the same as the keywordtime
.
For more information about how the SimBiology® software handles events, see How Events Are Evaluated. For examples of event functions, see Specifying Event Triggers.
Tip
If UnitConversion
is
on and your model has any event, follow the recommendation below.
Non-dimensionalize any parameters used in the event Trigger
if they are not already dimensionless. For example, suppose you have
a trigger x > 1
, where x is the species
concentration in mole/liter. Non-dimensionalize x by scaling (dividing)
it with a constant such as x/x0 > 1
, where x0 is a
parameter defined as 1.0 mole/liter. Note that x does not have to have
the same unit as the constant x0, but must be dimensionally consistent
with it. For example, the unit of x can be picomole/liter instead of
mole/liter.
Characteristics
Applies to | Object: event |
SimBiology type | Character vector, function handle |
SimBiology values | Specify a MATLAB® expression as a character vector.
Default is |
Access | Read/write |
Examples
Create a model object, and then add an event object.
modelObj = sbmlimport('oscillator'); eventObj = addevent(modelObj, 'time>= 5', 'OpC = 200');
Set the
Trigger
property of the event object.set(eventObj, 'Trigger', '(time >=5) && (speciesA<1000)');
Get the
Trigger
property.get(eventObj, 'Trigger')