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

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

out = setTunable(out,0);

Можно задать настраиваемость отдельных переменных или правил. Для примера установите переменную первого входа как nontunable.

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

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

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

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

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

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

свернуть все

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

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

свернуть все

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

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

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

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

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

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

Введенный в R2019a