# triangular: Factories for functions that convert numeric data into... In lfl: Linguistic Fuzzy Logic

 triangular R Documentation

## 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)
```

### Arguments

 `lo` A lower bound (can be -Inf). `center` A peak value. `hi` An upper bound (can be Inf).

### 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, `x`values lower than`lo`or greater than`hi`obtain membership degree equal to 0. A transition of the triangular (resp. raised cosine) shape (with peak at`center`is computed for`x`values between`lo`and`hi'.

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.

### Value

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

Michal Burda

`fcut()`

### Examples

```
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)

```

lfl documentation built on Sept. 8, 2022, 5:08 p.m.