removeMF

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

Синтаксис

fisOut = removeMF(fisIn,varName,mfName)
fisOut = removeMF(fisIn,varName,mfName,'VariableType',varType)
varOut = removeMF(varIn,varName,mfName)

Описание

пример

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:

    Name
    Type
    Parameters

  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:

    Name
    Type
    Parameters

  Details:
          Name       Type        Parameters   
         _______    _______    _______________

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

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

свернуть все

Нечеткая система вывода, заданная как объект mamfis или sugfis.

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

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

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

  • входной параметр Входная переменная

  • вывод Выходная переменная

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

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

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

свернуть все

Нечеткая система вывода, возвращенная как объект mamfis или sugfis. fisOut имеет те же свойства как fisIn кроме:

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

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

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

Введенный в R2018b