Event manipulationΒΆ

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

Y > T

with T 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.Event(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)