Main Content

ClauseParameters

Parameter settings for rule clauses

Description

A ClauseParameters object contains tunable settings for either the antecedent or consequent of a fuzzy rule.

Creation

Create a ClauseParameters object using the getTunableSettings function. The third output of getTunableSettings contains RuleSettings objects. The Antecedent and Consequent properties of each RuleSettings object are ClauseParameter objects for specifying the tunable settings of the corresponding rule.

Properties

expand all

Clause parameter values available for tuning, specified as a logical 1 or 0, or an array of logical values. To apply different settings to each clause parameter, specify an array of logical values. To apply the same setting to all clause parameter values, specify a scalar logical value.

When the ClauseParameters object represents a rule antecedent, the clause parameter values are the membership functions corresponding to each input variable.

When the ClauseParameters object represents a rule consequent, the clause parameter values are the membership functions corresponding to each output variable.

Flag indicating whether to allow NOT logic in rule clauses, specified as a logical 1 or 0, or an array of logical values. To apply different settings to each clause parameter, specify an array of logical values. To apply the same setting to all clause parameter values, specify a scalar logical value.

Flag indicating whether to allow ignoring inputs and outputs in rule clauses, specified as a logical 1 or 0, or an array of logical values. To apply different settings to each clause parameter, specify an array of logical values. To apply the same setting to all clause parameter values, specify a scalar logical value.

Examples

collapse all

Create a fuzzy inference system.

fis = mamfis("Name","fis1","NumInputs",2,"NumOutputs",1);

Obtain rule parameter settings from the FIS.

[~,~,rule] = getTunableSettings(fis);

Each rule parameter setting includes the FIS name, the index of the rule in the FIS, and parameter settings for the rule antecedent and consequent (the rule clauses). For each clause, you can specify the tunability settings.

View the default tunable settings for the antecedent of the first rule.

rule(1).Antecedent(1)
ans = 
  ClauseParameters with properties:

      AllowNot: [0 0]
    AllowEmpty: [1 1]
          Free: [1 1]

You can use dot notation to specify the tunable settings for each rule.

Allow NOT logic in the antecedent of rule 1.

rule(1).Antecedent.AllowNot = true;

Make the consequent of rule 2 not available for tuning.

rule(2).Consequent.Free = 0;

Do not allow absence of a variable in the consequent of rule 3.

rule(3).Consequent.AllowEmpty = false;

Version History

Introduced in R2019a