Learn R Programming

mistral (version 2.2.2)

UtoX: Iso-probabilistic transformation from U space to X space

Description

UtoX performs as iso-probabilistic transformation from standardized space (U) to physical space (X) according to the NATAF transformation, which requires only to know the means, the standard deviations, the correlation matrix \(\rho(Xi,Xj) = \rho_{ij}\) and the marginal distributions of Xi. In standard space, all random variables are uncorrelated standard normal distributed variables whereas they are correlated and defined using the following distribution functions: Normal (or Gaussian), Lognormal, Uniform, Gumbel, Weibull and Gamma.

Usage

UtoX(U, input.margin, L0)

Value

X

a matrix containing the realisation of all random variables in X-space

Arguments

U

a matrix containing the realisation of all random variables in U-space

input.margin

A list containing one or more list defining the marginal distribution functions of all random variables to be used

L0

the lower matrix of the Cholesky decomposition of correlation matrix R0 (result of ModifCorrMatrix)

Author

gilles DEFAUX, gilles.defaux@cea.fr

Details

Supported distributions are :

  • NORMAL: distribution, defined by its mean and standard deviation $$distX <- list(type="Norm", MEAN=0.0, STD=1.0, NAME="X1")$$

  • LOGNORMAL: distribution, defined by its internal parameters P1=meanlog and P2=sdlog (plnorm) $$distX <- list(type="Lnorm", P1=10.0, P2=2.0, NAME="X2")$$

  • UNIFORM: distribution, defined by its internal parameters P1=min and P2=max (punif) $$distX <- list(type="Unif",P1=2.0, P2=6.0, NAME="X3")$$

  • GUMBEL: distribution, defined by its internal parameters P1 and P2 $$distX <- list(type='Gumbel',P1=6.0, P2=2.0, NAME='X4')$$

  • WEIBULL: distribution, defined by its internal parameters P1=shape and P2=scale (pweibull) $$distX <- list(type='Weibull', P1=NULL, P2=NULL, NAME='X5')$$

  • GAMMA: distribution, defined by its internal parameters P1=shape and P2=scale (pgamma) $$distX <- list(type='Gamma', P1=6.0, P2=6.0, NAME='X6')$$

  • BETA: distribution, defined by its internal parameters P1=shape1 and P2=shapze2 (pbeta) $$distX <- list(type='Beta', P1=6.0, P2=6.0, NAME='X7')$$

References

  • M. Lemaire, A. Chateauneuf and J. Mitteau. Structural reliability, Wiley Online Library, 2009

  • V. Dubourg, Meta-modeles adaptatifs pour l'analyse de fiabilite et l'optimisation sous containte fiabiliste, PhD Thesis, Universite Blaise Pascal - Clermont II,2011

See Also

ModifCorrMatrix, ComputeDistributionParameter

Examples

Run this code
Dim = 2

distX1 <- list(type='Norm',  MEAN=0.0, STD=1.0, P1=NULL, P2=NULL, NAME='X1')
distX2 <- list(type='Norm',  MEAN=0.0, STD=1.0, P1=NULL, P2=NULL, NAME='X2')

input.margin <- list(distX1,distX2)
input.Rho    <- matrix( c(1.0, 0.5,
                          0.5, 1.0),nrow=Dim)
input.R0     <- ModifCorrMatrix(input.Rho)
L0           <- t(chol(input.R0))

lsf = function(U) {   
    X <- UtoX(U, input.margin, L0)
    G <- 5.0 - 0.2*(X[1,]-X[2,])^2.0 - (X[1,]+X[2,])/sqrt(2.0)
    return(G)
}

u0 <- as.matrix(c(1.0,-0.5))
lsf(u0)

Run the code above in your browser using DataLab