Main Content

MembershipFunctionSettingsType2

Tunable parameter settings for type-2 fuzzy membership functions

Description

A MembershipFunctionSettingsType2 object contains tunable parameter settings for a type-2 membership function. Using this object, you can specify the tunability settings for the corresponding MF, including the upper MF parameters, the lower MF scale, and the lower MF lag.

For more information on the tunable settings of a type-1 membership function, see MembershipFunctionSettings.

Creation

Create MembershipFunctionSettingsType2 objects using the getTunableSettings function with a mamfistype2, sugfistype2, or fistree object. The first and second outputs of getTunableSettings contain VariableSettings objects for input and output variables, respectively. If a VariableSettings object corresponds to a variable with type-2 membership functions, then its MembershipFunctions property contains MembershipFunctionSettingsType2 objects.

Properties

expand all

Upper membership function parameter tunable settings, specified as a NumericParameters object.

Lower membership function scale tunable settings, specified as a NumericParameters object.

Lower membership function lag tunable settings, specified as a NumericParameters object.

Object Functions

setTunableSet specified parameter settings as tunable or nontunable

Examples

collapse all

Create a type-2 fuzzy inference system.

fis = mamfistype2('Name','fis1','NumInputs',2,'NumOutputs',1);

Obtain the tunable settings of the input and output variables of the fuzzy inference system.

[in,out] = getTunableSettings(fis);

You can use dot notation to specify the tunable settings of the membership functions of the input and output variables.

For the first membership function of input 1, set the first and third upper membership function parameters as tunable.

in(1).MembershipFunctions(1).UpperParameters.Free = [1 0 1];

For the first membership function of input 2, set the tunable range of the lower membership function scale to be between 0.7 and 0.9.

in(2).MembershipFunctions(1).LowerScale.Minimum = 0.7;
in(2).MembershipFunctions(1).LowerScale.Maximum = 0.9;

For the first membership function of output 1, set the tunable range of the lower membership function lag to be between 0.1 and 0.4.

in(2).MembershipFunctions(1).LowerLag.Minimum = 0.1;
in(2).MembershipFunctions(1).LowerLag.Maximum = 0.4;

By default, the tunable settings for a type-2 FIS produce symmetric lag results in the tuned system. To allow for asymmetric lag results, specify the AsymmetricLag name-value argument.

[in2,out2] = getTunableSettings(fis,'AsymmetricLag',true);

Version History

Introduced in R2019b