S.PLFN: Simulate a random sample from Piecewise Linear Fuzzy Numbers

Description Usage Arguments Value References See Also Examples

Description

This function is able to produce / simulate a random sample from Piecewise Linear Fuzzy Numbers (PLFNs).

Usage

1
2
S.PLFN(n, knot.n, type = "PLFN", X.dist, X.dist.par, slX.dist, slX.dist.par,
       srX.dist, srX.dist.par )

Arguments

n

the size of random sample of PLSNs.

knot.n

the number of knots; see package FuzzyNumbers for more details.

type

The possible values of this argument is type = c("Tri", "Tra", "PLFN", "PLFI") . In other words, this function returned one of following fuzzy numbers: (1) Triangular Fuzzy Number ( when type = "Tri" ), (2) Trapezoidal Fuzzy Number ( when type = "Tra" ), (3) Piecewise Linear Fuzzy Number ( when type = "PLFN" ), and (4) Piecewise Linear Fuzzy Interval ( when type = "PLFI" ).

X.dist

The distribution name of the random variable (for simulate the core of random fuzzy number) is determined by characteristic element T.dist. The names of distributions is similar to stats package.

X.dist.par

A vector of distribution parameters (for simulate the core of random fuzzy number) with considered ordering in stats package.

slX.dist

The distribution name of the random variable (for simulate the left spread value of random fuzzy number) is determined by characteristic element T.dist. The names of distributions is similar to stats package.

slX.dist.par

A vector of distribution parameters (for simulate the left spread value of random fuzzy number) with considered ordering in stats package.

srX.dist

The distribution name of the random variable (for simulate the right spread value of random fuzzy number) is determined by characteristic element T.dist. The names of distributions is similar to stats package.

srX.dist.par

A vector of distribution parameters (for simulate the right spread value of random fuzzy number) with considered ordering in stats package.

Value

Considering the type argument, this function returned/simulate/create one of following fuzzy numbers: (1) Triangular Fuzzy Number, (2) Trapezoidal Fuzzy Number, (3) Piecewise Linear Fuzzy Number, and (4) Piecewise Linear Fuzzy Interval.

References

Gagolewski, M., Caha, J. (2015) FuzzyNumbers Package: Tools to deal with fuzzy numbers in R. R package version 0.4-1, https://cran.r-project.org/web/packages=FuzzyNumbers

Gagolewski, M., Caha, J. (2015) A guide to the FuzzyNumbers package for R (FuzzyNumbers version 0.4-1) http://FuzzyNumbers.rexamine.com

See Also

DISTRIB FuzzyNumbers FuzzyNumbers.Ext.2 Calculator.LR.FNs

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
library(FuzzyNumbers)

# Let  x ~~ ( X~N(0,1) ; s_X^l~Exp(3) ; s_X^r~beta(1,3) )  

n=3; knot.n=3

Sam <- S.PLFN( n=3, knot.n=4, type="Tra",
	X.dist="norm", X.dist.par=c(0,1),
	slX.dist="exp", slX.dist.par=3,
	srX.dist="beta", srX.dist.par=c(1,3)
	)

Sam
Sam[,,"X3"]

# For plotting random fuzzy sample:
xlim = c( min(Sam), max(Sam) )
  plot( cuts.to.PLFN(Sam[,,1]), type="b", col=1, xlim=xlim ) 
  plot( cuts.to.PLFN(Sam[,,2]), type="b", col=2, add=TRUE ) 
  plot( cuts.to.PLFN(Sam[,,3]), type="b", col=3, add=TRUE ) 
  abline( h=round((knot.n+1):0/(knot.n+1),4), lty=3, col="gray70") 

Example output

, , X1

             L         U
1   -0.3773801 0.2012215
0.8 -0.3939854 0.2013899
0.6 -0.4105907 0.2015582
0.4 -0.4271960 0.2017266
0.2 -0.4438013 0.2018949
0   -0.4604066 0.2020633

, , X2

            L          U
1   -2.647724 -0.3366846
0.8 -2.723382 -0.2966154
0.6 -2.799041 -0.2565462
0.4 -2.874699 -0.2164770
0.2 -2.950358 -0.1764078
0   -3.026016 -0.1363386

, , X3

             L           U
1   -0.7625111 -0.15660038
0.8 -0.8375531 -0.11108919
0.6 -0.9125950 -0.06557800
0.4 -0.9876370 -0.02006681
0.2 -1.0626789  0.02544439
0   -1.1377209  0.07095558

             L           U
1   -0.7625111 -0.15660038
0.8 -0.8375531 -0.11108919
0.6 -0.9125950 -0.06557800
0.4 -0.9876370 -0.02006681
0.2 -1.0626789  0.02544439
0   -1.1377209  0.07095558

Sim.PLFN documentation built on May 2, 2019, 5:51 a.m.