.. only:: html
.. note::
:class: sphx-glr-download-link-note
Click :ref:`here ` to download the full example code
.. rst-class:: sphx-glr-example-title
.. _sphx_glr_auto_probabilistic_modeling_stochastic_processes_plot_functional_basis_process.py:
Create a functional basis process
=================================
The objective of this example is to define
:math:`X: \Omega \times \mathcal{D} \rightarrow \mathbb{R}^d` a multivariate stochastic
process of dimension :math:`d` where :math:`\mathcal{D} \in \mathbb{R}^n`, as a linear
combination of :math:`K` deterministic functions
:math:`(\phi_i)_{i=1,\dots,K}: \mathbb{R}^n \rightarrow \mathbb{R}^d`:
.. math::
\begin{aligned}
X(\omega,\underline{t})=\sum_{i=1}^KA_i(\omega)\phi_i(\underline{t})
\end{aligned}
where :math:`\underline{A}=(A_1,\dots, A_K)` is a random vector of dimension :math:`K`.
We suppose that :math:`\mathcal{M}` is discretized on the mesh :math:`\mathcal{M}` which has :math:`N`
vertices.
A realization of :math:`X` on :math:`\mathcal{M}` consists in generating a realization
:math:`\underline{\alpha}` of the random vector :math:`\underline{A}` and in evaluating the
functions :math:`(\phi_i)_{i=1,\dots,K}` on the mesh :math:`\mathcal{M}`.
If we note
:math:`(\underline{x}_0, \dots, \underline{x}_{N-1})` the realization of :math:`X`, where
:math:`X(\omega, \underline{t}_k) = \underline{x}_k`, we have:
.. math::
\begin{aligned}
\forall k \in [0, N-1], \quad \underline{x}_k = \sum_{i=1}^K\alpha_i\phi_i(\underline{t}_k)
\end{aligned}
.. code-block:: default
from __future__ import print_function
import openturns as ot
import openturns.viewer as viewer
from matplotlib import pylab as plt
import math as m
ot.Log.Show(ot.Log.NONE)
Define the coefficients distribution
.. code-block:: default
mu = [2.0]*2
sigma = [5.0]*2
R = ot.CorrelationMatrix(2)
coefDist = ot.Normal(mu, sigma, R)
Create a basis of functions
.. code-block:: default
phi_1 = ot.SymbolicFunction(['t'], ['sin(t)'])
phi_2 = ot.SymbolicFunction(['t'], ['cos(t)^2'])
myBasis = ot.Basis([phi_1, phi_2])
Create the mesh
.. code-block:: default
myMesh = ot.RegularGrid(0.0, 0.1, 100)
Create the process
.. code-block:: default
process = ot.FunctionalBasisProcess(coefDist, myBasis, myMesh)
Draw a sample
.. code-block:: default
N = 6
sample = process.getSample(N)
graph = sample.drawMarginal(0)
graph.setTitle(str(N)+' realizations of functional basis process')
view = viewer.View(graph)
.. image:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_functional_basis_process_001.png
:alt: 6 realizations of functional basis process
:class: sphx-glr-single-img
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 0.075 seconds)
.. _sphx_glr_download_auto_probabilistic_modeling_stochastic_processes_plot_functional_basis_process.py:
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download Python source code: plot_functional_basis_process.py `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download Jupyter notebook: plot_functional_basis_process.ipynb `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery `_