Learn R Programming

lfl (version 2.2.0)

triangular: Factories for functions that convert numeric data into membership degrees of fuzzy sets

Description

These functions create functions with a single argument x that compute membership degrees of x to a fuzzy set of either triangular or raised-cosine shape that is defined by lo, center, and hi.

Usage

triangular(lo, center, hi)

raisedcosine(lo, center, hi)

Value

A function with single argument x that should be a numeric vector to be converted.

Arguments

lo

A lower bound (can be -Inf).

center

A peak value.

hi

An upper bound (can be Inf).

Author

Michal Burda

Details

The arguments must satisfy lo <= center <= hi. Functions compute membership degrees of triangular or raised-cosine fuzzy sets. x values equal to center obtain membership degree equal to 1, xvalues lower thanloor greater thanhiobtain membership degree equal to 0. A transition of the triangular (resp. raised cosine) shape (with peak atcenteris computed forxvalues betweenloandhi`.

If lo == -Inf then any value that is lower or equal to center gets membership degree 1. Similarly, if hi == Inf then any value that is greater or equal to center gets membership degree 1. NA and NaN values remain unchanged.

triangular() produces fuzzy sets of a triangular shape (with peak at center), raisedcosine() produces fuzzy sets defined as a raised cosine hill.

See Also

fcut()

Examples

Run this code

tr <- triangular(1, 2, 3)
tr(1:30 / 3)

rc <- raisedcosine(1, 2, 3)
rc(1:30 / 3)

plot(triangular(-1, 0, 1), from=-2, to=3)
plot(triangular(-1, 0, 2), from=-2, to=3)
plot(triangular(-Inf, 0, 1), from=-2, to=3)
plot(triangular(-1, 0, Inf), from=-2, to=3)

plot(raisedcosine(-1, 0, 1), from=-2, to=3)
plot(raisedcosine(-1, 0, 2), from=-2, to=3)
plot(raisedcosine(-Inf, 0, 1), from=-2, to=3)
plot(raisedcosine(-1, 0, Inf), from=-2, to=3)

Run the code above in your browser using DataLab