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)

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

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

Просмотрите функции принадлежности снова. Заданная функция принадлежности была удалена.

plotmf(fis,"input",1)

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

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

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

plotmf(fis,"output",1)

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

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 объект — Тип 2 Mamdani нечеткая система вывода

  • sugfistype2 объект — Тип 2 Sugeno нечеткая система вывода

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

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

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

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

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

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

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

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

свернуть все

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

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

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

  • mamfistype2 объект — Тип 2 Mamdani нечеткая система вывода

  • sugfistype2 объект — Тип 2 Sugeno нечеткая система вывода

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

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

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

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

Введенный в R2018b