exponenta event banner

removeMF

Удалить функцию членства из нечеткой переменной

Описание

пример

fisOut = removeMF(fisIn,varName,mfName) удаляет функцию членства mfName от входной или выходной переменной varName в системе нечеткого вывода fisIn и возвращает результирующую нечеткую систему в fisOut. Чтобы использовать этот синтаксис, varName должно быть уникальным именем переменной в fisIn.

пример

fisOut = removeMF(fisIn,varName,mfName,'VariableType',varType) удаляет функцию членства из входной или выходной переменной, как указано в varType. Этот синтаксис используется, когда FIS имеет входную переменную с тем же именем, что и выходная переменная.

пример

varOut = removeMF(varIn,varName,mfName) удаляет функцию членства mfName из нечеткой переменной varIn и возвращает результирующую нечеткую переменную в varOut.

Примеры

свернуть все

Создайте систему нечеткого вывода Mamdani с двумя входами и одним выходом. По умолчанию при указании количества входов и выходов mamfis добавляет три функции членства к каждой переменной.

fis = mamfis('NumInputs',3,'NumOutputs',1)
fis = 
  mamfis with properties:

                       Name: "fis"
                  AndMethod: "min"
                   OrMethod: "max"
          ImplicationMethod: "min"
          AggregationMethod: "max"
      DefuzzificationMethod: "centroid"
                     Inputs: [1x3 fisvar]
                    Outputs: [1x1 fisvar]
                      Rules: [1x27 fisrule]
    DisableStructuralChecks: 0

	See 'getTunableSettings' method for parameter optimization.

Назовите переменные. В этом примере присвойте второй входной переменной и выходной переменной одинаковое имя.

fis.Inputs(1).Name = "speed";
fis.Inputs(2).Name = "throttle";
fis.Inputs(3).Name = "distance";
fis.Outputs(1).Name = "throttle";

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

plotmf(fis,"input",1)

Figure contains an axes. The axes contains 6 objects of type line, text.

Удалите вторую функцию членства, mf2, от первой входной переменной.

fis = removeMF(fis,"speed","mf2");

Снова просмотрите функции членства. Указанная функция членства удалена.

plotmf(fis,"input",1)

Figure contains an axes. The axes contains 4 objects of type line, text.

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

fis = removeMF(fis,"throttle","mf3",'VariableType',"output");

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

plotmf(fis,"output",1)

Figure contains an axes. The axes contains 4 objects of type line, text.

Создание нечеткой переменной с заданным диапазоном и добавление трех функций членства

var = fisvar([0 10]);
var = addMF(var,"trimf",[0 2.5 5],"Name","small");
var = addMF(var,"trimf",[2.5 5 7.5],"Name","medium");
var = addMF(var,"trimf",[5 7.5 10],"Name","large");

Просмотр функций членства.

var.MembershipFunctions
ans = 
  1x3 fismf array with properties:

    Type
    Parameters
    Name

  Details:
           Name       Type         Parameters    
         ________    _______    _________________

    1    "small"     "trimf"      0    2.5      5
    2    "medium"    "trimf"    2.5      5    7.5
    3    "large"     "trimf"      5    7.5     10

Удалить medium функция членства из переменной.

var = removeMF(var,"medium");

Убедитесь, что членство удалено.

var.MembershipFunctions
ans = 
  1x2 fismf array with properties:

    Type
    Parameters
    Name

  Details:
          Name       Type        Parameters   
         _______    _______    _______________

    1    "small"    "trimf"    0    2.5      5
    2    "large"    "trimf"    5    7.5     10

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

свернуть все

Система нечеткого вывода, заданная как одна из следующих:

  • mamfis объект - система нечеткого вывода Мамдани

  • sugfis object - система нечеткого вывода Sugeno

  • mamfistype2 объект - Type-2 система нечеткого вывода Мамдани

  • sugfistype2 object - Type-2 система нечеткого вывода Sugeno

Имя переменной, указанное как строковый или символьный вектор. В FIS можно указать имя входной или выходной переменной.

Имя членской функции, указанное как строковый или символьный вектор.

Тип переменной, указанный как один из следующих типов:

  • "input" - Входная переменная

  • "output" - Выходная переменная

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

Нечеткая переменная, заданная как fisvar объект.

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

свернуть все

Система нечеткого вывода, заданная как одна из следующих:

  • mamfis объект - система нечеткого вывода Мамдани

  • sugfis object - система нечеткого вывода Sugeno

  • mamfistype2 объект - Type-2 система нечеткого вывода Мамдани

  • sugfistype2 object - Type-2 система нечеткого вывода Sugeno

fisOut имеет те же свойства, что и fisIn за исключением:

  • Функция членства с указанным именем удаляется из указанной переменной.

  • Указанная функция членства удаляется из нечетких правил. Если правило имеет только заданную функцию членства в своем предыдущем коде, то все правило удаляется. Если правило имеет более одной функции членства в предшествующем элементе, то указанная функция членства удаляется из предшествующего элемента.

Нечеткая переменная, возвращаемая как fisvar объект. varOut имеет те же свойства, что и varIn за исключением удаления функции членства с указанным именем.

Представлен в R2018b