File: CompoundRandomVector.py

package info (click to toggle)
openturns 1.26-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 67,708 kB
  • sloc: cpp: 261,605; python: 67,030; ansic: 4,378; javascript: 406; sh: 185; xml: 164; makefile: 101
file content (26 lines) | stat: -rw-r--r-- 770 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import openturns as ot
from matplotlib import pyplot as plt
import openturns.viewer as otv

distXgivenT = ot.Exponential()
distGamma = ot.Uniform(1.0, 2.0)
distLambda = ot.Uniform(0.0, 1)
distTheta = ot.JointDistribution([distLambda, distGamma])
rvTheta = ot.RandomVector(distTheta)

rvX = ot.CompoundRandomVector(distXgivenT, rvTheta)
sampleX = rvX.getSample(1000)

histX = ot.HistogramFactory().build(sampleX)
graph = histX.drawPDF()
graph.setXTitle("x")
graph.setYTitle("pdf")
graph.setTitle(
    r"Conditional Random Vector: Exp( $\lambda$, $\gamma$), $\lambda \sim \mathcal{U}(0,1)$, $\gamma \sim \mathcal{U}(1,2)$"
)

fig = plt.figure(figsize=(8, 4))
axis = fig.add_subplot(111)
axis.set_xlim(auto=True)

otv.View(graph, figure=fig, axes=[axis], add_legend=False)