ft {lfl}R Documentation

Fuzzy transform

Description

Compute a fuzzy tranform of the given input matrix x.

Usage

ft(x, xmemb, y, order = 1)

Arguments

x

the numeric matrix of input values

xmemb

the partitioning of input values, i.e., a fsets object with membership degrees (see fcut())

y

the numeric vector of target values

order

the order of the fuzzy transform (0, 1, 2, ...)

Value

the instance of the S3 class ft

Author(s)

Michal Burda

References

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

See Also

ftinv(), is.ft()

Examples


# 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


[Package lfl version 2.2.0 Index]