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.

Примеры

свернуть все

Создайте систему нечеткого вывода Мамдани с двумя входами и одним выходом. По умолчанию, когда вы задаете количество входов и выходов, 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 объект - система нечеткого вывода Mamdani

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

fisOut имеет те же свойства, что и fisIn кроме:

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

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

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

Введенный в R2018b