Main Content

MembershipFunctionSettingsType2

Tunable parameter settings for type-2 fuzzy membership functions

Description

Use a MembershipFunctionSettingsType2 object to specify the tunable parameter settings for a type-2 membership function.

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 with the following properties.

PropertyDescriptionDefault
Free

Parameter values available for tuning, specified as a vector of logical values where each element specifies whether the corresponding membership function parameter is available for tuning.

1 for all elements
Minimum

Minimum parameter values, specified as a vector where each element specifies the minimum value for the corresponding membership function parameter.

-Inf for all elements
Maximum

Maximum parameter values, specified as a vector where each element specifies the maximum value for the corresponding membership function parameter.

Inf for all elements

Lower membership function scale tunable settings, specified as a NumericParameters object with the following properties.

PropertyDescriptionDefault
Free

Available for tuning, specified as a logical 1 or 0 indicating whether the lower membership function scale is available for tuning.

1
Minimum

Minimum scale value, specified as a scalar.

-Inf
Maximum

Maximum scale value, specified as a scalar.

Inf

Lower membership function lag tunable settings, specified as a NumericParameters object with the following properties.

PropertyDescriptionDefault
Free

Available for tuning, specified as a logical 1 or 0 indicating whether the lower membership function lag is available for tuning.

1
Minimum

Minimum lag value, specified as a scalar.

-Inf
Maximum

Maximum lag value, specified as a scalar.

Inf

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