# smf

S-shaped membership function

## Syntax

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

## Description

This function computes fuzzy membership values using a spline-based S-shaped 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 `zmf` and `pimf` membership functions.

example

````y = smf(x,params)` returns fuzzy membership values computed using the spline-based S-shaped membership function given by:$f\left(x;a,b\right)=\left\{\begin{array}{cc}0,& x\le a\\ 2{\left(\frac{x-a}{b-a}\right)}^{2},& a\le x\le \frac{a+b}{2}\\ \text{1}-\text{2}{\left(\frac{x-b}{b-a}\right)}^{\text{2}},& \frac{a+b}{2}\le x\le b\\ 1,& x\ge b\end{array}\right\}$To specify the a and b parameters, use `params`.Membership values are computed for each input value in `x`.```

## Examples

collapse all

```x = 0:0.1:10; y = smf(x,[1 8]); plot(x,y) xlabel('smf, P = [1 8]') 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]. Parameter a defines the foot of the membership function, and b defines its shoulder.

## 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 `smf` membership function.

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

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