Main Content


Sigmoidal membership function


This function computes fuzzy membership values using a sigmoidal 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 dsigmf and psigmf membership functions.


y = sigmf(x,params) returns fuzzy membership values computed using the sigmoidal membership function given by:


To specify the a and c parameters, use params.

Membership values are computed for each input value in x.


collapse all

x = 0:0.1:10;
y = sigmf(x,[2 4]);
xlabel('sigmf, P = [2 4]')
ylim([-0.05 1.05])

Figure contains an axes object. The axes object contains an object of type line.

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 c]. To open the membership function to the left or right, specify a negative or positive value for a, respectively. The magnitude of a controls the width of the transition area, and c defines the center of the transition area.

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 sigmf membership function.

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

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a