Learn R Programming

ZEP (version 0.3.1)

FuzzyApproximation: Function for approximation with the help of methods other than in FuzzyNumbers package

Description

FuzzyApproximation approximates the given fuzzy number.

Usage

FuzzyApproximation(value, method = "ExpectedValueCore", piecewise = FALSE, ...)

Value

The output is a fuzzy number (triangular or trapezoidal one) described by classes from FuzzyNumbers package.

Arguments

value

Fuzzy number to approximate.

method

The selected approximation method.

piecewise

If piecewise=TRUE is set, then the methods "Naive","NearestEuclidean" (from the FuzzyNumbers package) produce piecewise linear fuzzy number as the output, otherwise they result in trapezoidal fuzzy number.

...

Additional parameters passed to other functions (like approximation method from the FuzzyNumbers package).

Details

The function approximates the fuzzy number given by value with the method selected by method. The following approximations are possible: ExpectedValueCore--preserving the expected value and the core of value, TriangSuppPreserving--constructs the triangular fuzzy number based on minimization of DpqDistance, preserving the support of value, AmbiguityValuePreserving--minimizing the Euclidean distance, while preserving the ambiguity and value, and the approximation methods from the FuzzyNumbers package (namely: Naive, NearestEuclidean, ExpectedIntervalPreserving, SupportCoreRestricted,SupportCorePreserving).

The input value should be given by a fuzzy number described by classes from FuzzyNumbers package.

Examples

Run this code

library(FuzzyNumbers)

# prepare complex fuzzy number

A <- FuzzyNumber(-5, 3, 6, 20, left=function(x)
pbeta(x,0.4,3),
right=function(x) 1-x^(1/4),
lower=function(alpha) qbeta(alpha,0.4,3),
upper=function(alpha) (1-alpha)^4)

# find approximation

FuzzyApproximation (A)


Run the code above in your browser using DataLab