getTunableSettings

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

Описание

in = getTunableSettings(fis) возвращает настраиваемые настройки входных переменных нечеткой системы fis.

[~,out] = getTunableSettings(fis) возвращает настраиваемые настройки выходных переменных нечеткой системы fis.

[~,~,rule] = getTunableSettings(fis) возвращает настраиваемые настройки правил нечеткой системы fis.

пример

[in,out,rule] = getTunableSettings(fis) возвращает настраиваемые настройки входных параметров, выходные параметры и правила нечеткой системы fis.

пример

[___] = getTunableSettings(fis,'AsymmetricLag',true) возвращает настраиваемые настройки, которые позволяют асимметричные более низкие значения задержки функции принадлежности. Этот синтаксис поддерживается только когда fis тип 2 нечеткая система вывода.

Примеры

свернуть все

Создайте две нечетких системы вывода и задайте связь между двумя.

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);

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

[in,out,rule] = getTunableSettings(tree)
in=4×1 object
  4x1 VariableSettings array with properties:

    Type
    VariableName
    MembershipFunctions
    FISName

out=2×1 object
  2x1 VariableSettings array with properties:

    Type
    VariableName
    MembershipFunctions
    FISName

rule=18×1 object
  16x1 RuleSettings array with properties:

    Index
    Antecedent
    Consequent
    FISName
      ⋮

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

Для первой функции принадлежности входа 1:

  • не делайте настройки параметров 1,

  • установите минимальные области значений последних двух параметров к 0,

  • и набор максимальные области значений последних двух параметров к 1.

in(1).MembershipFunctions(1).Parameters.Free(1) = false;
in(1).MembershipFunctions(1).Parameters.Minimum(2:end) = 0;
in(1).MembershipFunctions(1).Parameters.Maximum(2:end) = 1;

Для первого правила:

  • установите вход 1 ненастраиваемый индекс функции принадлежности,

  • позвольте НЕ логику для входа 2 индекса функции принадлежности,

  • и не игнорируйте выход 1 индекс функции принадлежности.

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

Создайте две нечетких системы вывода и задайте связь между двумя.

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);

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

[in,out] = getTunableSettings(tree)
in=4×1 object
  4x1 VariableSettings array with properties:

    Type
    VariableName
    MembershipFunctions
    FISName

out=2×1 object
  2x1 VariableSettings array with properties:

    Type
    VariableName
    MembershipFunctions
    FISName

Можно использовать запись через точку, чтобы задать настраиваемые настройки переменных ввода и вывода.

Для первой функции принадлежности входа 1, устанавливает первые и третьи параметры на настраиваемый.

in(1).MembershipFunctions(1).Parameters.Free = [1 0 1];

Для первой функции принадлежности входа 2, устанавливает минимальную область значений параметра на 0.

in(2).MembershipFunctions(1).Parameters.Minimum = 0;

Для первой функции принадлежности выхода 2, устанавливает максимальную область значений параметра на 1.

out(2).MembershipFunctions(1).Parameters.Maximum = 1;

Создайте тип 2 нечеткая система вывода.

fis = mamfistype2('Name','fis1','NumInputs',2,'NumOutputs',1);

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

[in,out] = getTunableSettings(fis);

Можно использовать запись через точку, чтобы задать настраиваемые настройки функций принадлежности переменных ввода и вывода.

Для первой функции принадлежности входа 1, устанавливает первые и третьи верхние параметры функции принадлежности как настраиваемые.

in(1).MembershipFunctions(1).UpperParameters.Free = [1 0 1];

Для первой функции принадлежности входа 2, устанавливает настраиваемую область значений более низкой шкалы функции принадлежности быть между 0.7 и 0.9.

in(2).MembershipFunctions(1).LowerScale.Minimum = 0.7;
in(2).MembershipFunctions(1).LowerScale.Maximum = 0.9;

Для первой функции принадлежности выхода 1, устанавливает настраиваемую область значений более низкой задержки функции принадлежности быть между 0.1 и 0.4.

in(2).MembershipFunctions(1).LowerLag.Minimum = 0.1;
in(2).MembershipFunctions(1).LowerLag.Maximum = 0.4;

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

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

fis = mamfis("NumInputs",2,"NumOutputs",2);
[in,out,rule] = getTunableSettings(fis);

Можно задать все входные переменные, выходные переменные или правила как настраиваемые или ненастраиваемые. Например, установите все настройки выходной переменной как ненастраиваемые.

out = setTunable(out,0);

Можно установить приспособляемость отдельных переменных или правил. Например, установите первую входную переменную как ненастраиваемую.

in(1) = setTunable(in(1),0);

Можно установить отдельные функции принадлежности как ненастраиваемые. Например, установите первую функцию принадлежности входа 2 как ненастраиваемую.

in(2).MembershipFunctions(1) = setTunable(in(2).MembershipFunctions(1),0);

Можно также задать приспособляемость подмножества переменных или правил. Например, установите первые два правила как ненастраиваемые.

rule(1:2) = setTunable(rule(1:2),0);

Входные параметры

свернуть все

Нечеткая система вывода, заданная как mamfis, sugfis, mamfistype2, sugfistype2, или fistree объект. Нечеткая система может быть нечеткой системой вывода или сетью взаимосвязанных нечетких систем вывода.

Выходные аргументы

свернуть все

Настраиваемые настройки для входных переменных, возвращенных как массив VariableSettings объекты. Каждый VariableSettings объект содержит настройки приспособляемости для входной переменной, обозначенной ее FISName и VariableName свойства.

Задайте настройки приспособляемости функций принадлежности для этой переменной, с помощью ее MembershipFunctions свойство.

Настраиваемые настройки для входных переменных, возвращенных как массив VariableSettings объекты. Каждый VariableSettings объект содержит настройки приспособляемости для выходной переменной, обозначенной ее FISName и VariableName свойства.

Задайте настройки приспособляемости функций принадлежности для этой переменной, с помощью ее MembershipFunctions свойство.

Настраиваемые настройки для правил, возвращенных как массив RuleSettings объект. Каждый RuleSettings объект содержит настройки приспособляемости для правила от FIS, обозначенного его FISName свойство.

Задайте настройки приспособляемости антецедента и следствия для этой переменной, с помощью ее Antecedent и Consequent свойства, соответственно.

Введенный в R2019a