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 two fuzzy inference systems, and define the connection between the two.

fis1 = mamfis('Name','fis1','NumInputs',2,'NumOutputs',1);
fis2 = sugfis('Name','fis2','NumInputs',2,'NumOutputs',1);
con = ["fis1/output1" "fis2/input1"];

Create a tree of fuzzy inference systems.

tree = fistree([fis1 fis2],con);

Obtain the tunable settings of rules of the fuzzy inference system.

[~,~,rule] = getTunableSettings(tree)
rule=18×1 object
  16x1 RuleSettings array with properties:

    Index
    Antecedent
    Consequent
    FISName
      ⋮

You can use dot notation to specify the tunable settings of rules.

For the first rule, do not tune input 1 membership function index and do not ignore output 1 membership function index.

rule(1).Antecedent.Free(1) = false;
rule(1).Consequent.AllowEmpty(1) = false;

For the second rule, allow NOT logic for input 2 membership function index.

rule(2).Antecedent.AllowNot(2) = true;
Introduced in R2019a