Learn R Programming

lfl (version 2.2.0)

ftinv: Inverse of the fuzzy transform

Description

Compute an inverse of fuzzy transform fit for values x with corresponding membership degrees xmemb.

Usage

ftinv(fit, x, xmemb)

Value

The inverse of the fuzzy transform fit, i.e., the approximated values of the original function that was the subject of the fuzzy transform

Arguments

fit

The fuzzy transform object as the instance of the ft S3 class

x

The numeric matrix of input values, for which the inverse fuzzy transform has to be computed

xmemb

the partitioning of input values, i.e., a fsets object with membership degrees (see fcut()). Such partitioning must correspond to the xmemb partitioning used to create fit using the ft() function.

Author

Michal Burda

References

Perfilieva I. Fuzzy transforms: Theory and applications. FUZZY SET SYST, volume 157, issue 8, p. 993-1023. 2006.

See Also

ft(), is.ft()

Examples

Run this code

# create the fuzzy transform object
y <- (1:30)^2
x <- as.matrix(data.frame(a = 1:30, b = 30:1))
xmemb <- fcut(x,
              breaks = list(a = equidist(x[, 'a'], 3),
                            b = equidist(x[, 'b'], 3)))
fit <- ft(x, xmemb, y, order = 1)

# obtain function values
x2 <- as.matrix(data.frame(a = 10:20, b = 20:10))
xmemb2 <- fcut(x2,
               breaks = list(a = equidist(x[, 'a'], 3),
                             b = equidist(x[, 'b'], 3)))
y2 <- ftinv(fit, x2, xmemb2)
print(y2)

# compare original values with those obtained by the fuzzy transform
y - y2

Run the code above in your browser using DataLab