Main Content

RuleSettings

Tunable parameter settings of fuzzy rules

Description

A RuleSettings object is created using the getTunableSettings function with a mamfis, sugfis, or fistree object. When the third output is specified, getTunableSettings returns tunable parameter settings of fuzzy rules. Specify the settings of the Antecedent and Consequent properties.

Creation

Create a RuleSettings object using getTunableSettings with three outputs.

Properties

expand all

This property is read-only.

Name of fuzzy inference system, specified as a string.

This property is read-only.

Index of rule in fuzzy inference system, specified as an integer.

Antecedent parameter settings of rule, specified as a ClauseParameters object. Each antecedent parameter consists of the properties AllowNot, AllowEmpty, and Free. You can specify these properties.

Consequent parameter settings of rule, specified as a ClauseParameters object. Each consequent parameter consists of the properties AllowNot, AllowEmpty, and Free. You can specify these properties.

Object Functions

setTunableSet specified parameter settings as tunable or nontunable

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