exponenta event banner

RuleSettings

Настраиваемые параметры нечетких правил

Описание

A RuleSettings создается с помощью getTunableSettings функция с mamfis, sugfis, или fistree объект. Когда указан третий выход, getTunableSettings возвращает настраиваемые параметры нечетких правил. Укажите параметры Antecedent и Consequent свойства.

Создание

Создать RuleSettings объект с использованием getTunableSettings с тремя выходами.

Свойства

развернуть все

Это свойство доступно только для чтения.

Имя системы нечеткого вывода, указанное как строка.

Это свойство доступно только для чтения.

Индекс правила в системе нечеткого вывода, заданный как целое число.

Параметры параметра Antecedent правила, указанные как ClauseParameters объект. Каждый предшествующий параметр состоит из свойств AllowNot, AllowEmpty, и Free. Эти свойства можно задать.

Последующие параметры настройки правила, указанные как ClauseParameters объект. Каждый последующий параметр состоит из свойств AllowNot, AllowEmpty, и Free. Эти свойства можно задать.

Функции объекта

setTunableУстановить указанные параметры как настраиваемые или не настраиваемые

Примеры

свернуть все

Создайте две нечеткие системы вывода и определите соединение между ними.

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

Создайте дерево нечетких систем вывода.

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

Получите настраиваемые настройки правил системы нечеткого вывода.

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

    Index
    Antecedent
    Consequent
    FISName
      ⋮

Для задания настраиваемых параметров правил можно использовать точечную нотацию.

Для первого правила не настраивайте индекс членской функции input 1 и не игнорируйте индекс членской функции output 1.

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

Для второго правила разрешите логику NOT для индекса входящей функции 2.

rule(2).Antecedent.AllowNot(2) = true;
Представлен в R2019a