# Event manipulation¶

In this example we are going to define an Event from a scalar variable in the form:

with a scalar threshold

[20]:

from __future__ import print_function
import openturns as ot

[21]:

# Create model f(x) = x1 + 2*x2
model = ot.SymbolicFunction(['x1', 'x2'], ['x1+2*x2'])

# Create the input distribution and random vector X
inputDist = ot.Normal(2)
inputDist.setDescription(['X1','X2'])

inputVector = ot.RandomVector(inputDist)

# Create the output random vector Y=f(X)
outputVector = ot.CompositeRandomVector(model, inputVector)

[22]:

# Create the event Y > 3
threshold = 3.0
event = ot.ThresholdEvent(outputVector, ot.Greater(), threshold)

[24]:

# Realization as a Bernoulli
print('realization=' , event.getRealization())

realization= [0]

[25]:

# Sample of 10 realizations as a Bernoulli
print('sample=' , event.getSample(10))

sample=     [ y0 ]
0 : [ 0  ]
1 : [ 0  ]
2 : [ 1  ]
3 : [ 0  ]
4 : [ 1  ]
5 : [ 0  ]
6 : [ 0  ]
7 : [ 0  ]
8 : [ 0  ]
9 : [ 0  ]

[23]:

# Build a standard event based on an event
standardEvent = ot.StandardEvent(event)