Main Content

dsigmf

Difference between two sigmoidal membership functions

Description

This function computes fuzzy membership values using the difference between two sigmoidal membership functions. You can also compute this membership function using a fismf object. For more information, see fismf Object.

This membership function is related to the sigmf and psigmf membership functions.

y = dsigmf(x,params) returns fuzzy membership values computed using the difference between two sigmoidal membership functions. Each sigmoidal function is given by:

f(x;ak,ck)=11+eak(xck)

To define the membership function parameters, specify params as the vector [a1 c1 a2 c2].

Membership values are computed for each input value in x.

example

Examples

collapse all

Specify input values across the universe of discourse.

x = 0:0.1:10;

Evaluate membership function for the input values.

y = dsigmf(x,[5 2 5 7]);

Plot the membership function.

plot(x,y)
title('dsigmf, P = [5 2 5 7]')
xlabel('x')
ylabel('Degree of Membership')
ylim([-0.05 1.05])

Figure contains an axes object. The axes object with title dsigmf, P = [5 2 5 7], xlabel x, ylabel Degree of Membership 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 [a1 c1 a2 c2]. Here, a1 and c1 are the parameters of the first sigmoidal function, and a2 and c2 are the parameters of the second sigmoidal function.

For each sigmoidal function, to open the function to the left or right, specify a negative or positive value for a, respectively. The magnitude of a defines the width of the transition area, and parameter c defines the center of the transition area.

To define a unimodal membership function with a maximum value of 1, specify the same signs for a1 and a2, and select c values far enough apart to allow for both transition areas to reach 1.

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

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

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

Extended Capabilities

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

Version History

Introduced before R2006a

expand all