Learn R Programming

lfl (version 2.2.0)

ft: Fuzzy transform

Description

Compute a fuzzy tranform of the given input matrix x.

Usage

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

Value

the instance of the S3 class ft

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, ...)

Author

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

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