trimf

Triangular membership function

Syntax

``y = trimf(x,params)``

Description

This function computes fuzzy membership values using a triangular membership function. You can also compute this membership function using a `fismf` object. For more information, see fismf Object.

This membership function is related to the `trapmf`, `linsmf`, and `linzmf` membership functions.

example

````y = trimf(x,params)` returns fuzzy membership values computed using the following triangular membership function: $f\left(x;a,b,c\right)=\left\{\begin{array}{ll}0,\hfill & x\le a\hfill \\ \frac{x-a}{b-a},\hfill & a\le x\le b\hfill \\ \frac{c-x}{c-b},\hfill & b\le x\le c\hfill \\ 0,\hfill & c\le x\hfill \end{array}\right\}$ or, more compactly: $f\left(x;a,b,c\right)=\mathrm{max}\left(\mathrm{min}\left(\frac{x-a}{b-a},\frac{c-x}{c-b}\right),0\right)$To define the membership function parameters, specify `params` as the vector [a b c].Membership values are computed for each input value in `x`.```

Examples

collapse all

Specify input values across the universe of discourse.

`x = 0:0.1:10;`

Evaluate membership function for the input values.

`y = trimf(x,[3 6 8]);`

Plot the membership function.

```plot(x,y) title('trimf, P = [3 6 8]') xlabel('x') ylabel('Degree of Membership') ylim([-0.05 1.05])```

Input Arguments

collapse all

Input values for which to compute membership values, specified as a scalar or vector.

Membership function parameters, specified as the vector [a b c]. Parameters a and c define the feet of the membership function, and b defines its peak.

Output Arguments

collapse all

Membership value returned as a scalar or a vector. The dimensions of `y` match the dimensions of `x`. Each element of `y` is the membership value computed for the corresponding element of `x`.

Alternative Functionality

`fismf` Object

You can create and evaluate a `fismf` object that implements the `trimf` membership function.

```mf = fismf("trimf",P); Y = evalmf(mf,X);```

Here, `X`, `P`, and `Y` correspond to the `x`, `params`, and `y` arguments of `trimf`, respectively.

Version History

Introduced before R2006a

expand all