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

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

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

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

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

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

Тип переменной в виде одного из следующего:

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

Введенный в R2018b