mamfistype2

Тип 2 интервала Mamdani нечеткая система вывода

Описание

Используйте mamfistype2 объект представлять тип 2 интервала нечеткая система вывода (FIS) Mamdani.

Как альтернатива типу 2 система Mamdani, можно создать a:

  • Тип 2 Система Sugeno с помощью sugfistype2 объект

  • Тип 1 Система Mamdani с помощью mamfis объект

  • Тип 1 Система Sugeno с помощью sugfis объект

Для получения дополнительной информации о различных типах нечетких систем вывода смотрите Mamdani и Sugeno Fuzzy Inference Systems и Тип 2 Нечеткие Системы Вывода.

Создание

Чтобы создать объект Mamdani FIS типа 2, используйте один из следующих методов:

  • mamfistype2 функция.

  • Если у вас есть обучающие данные ввода и вывода (inputData и outputData, соответственно), можно создать тип 1 FIS использование genfis функция с FCM кластеризирующийся метод. Можно затем преобразовать этот FIS в систему типа 2 с помощью convertToType2.

    opt = genfisOptions('FCMClustering','FISType','mamdani');
    fis1 = genfis(inputData,outputData,opt);
    fis = convertToType2(fis1);
  • Если у вас есть .fis файл для типа 2 система Mamdani, можно использовать readfis функция.

Описание

пример

fis = mamfistype2 создает тип 2 Mamdani FIS со значениями свойств по умолчанию. Чтобы изменить свойства нечеткой системы, используйте запись через точку.

пример

fis = mamfistype2(Name,Value) задает конфигурационную информацию FIS или устанавливает аргументы пары "имя-значение" использования свойств объектов. Можно задать несколько пар "имя-значение". Заключите имена в кавычки.

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

развернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'NumInputs',2 конфигурирует нечеткую систему, чтобы иметь две входных переменные

Количество входных параметров FIS, заданных как разделенная запятой пара, состоящая из 'NumInputs' и неотрицательное целое число.

Количество функций принадлежности для каждого входа FIS, заданного как разделенная запятой пара, состоящая из 'NumInputMFs' и положительное целое число.

Количество FIS выходные параметры, заданные как разделенная запятой пара, состоящая из 'NumOutputs' и неотрицательное целое число.

Количество функций принадлежности для каждого FIS выход, заданный как разделенная запятой пара, состоящая из 'NumOutputMFs' и положительное целое число.

Тип функции принадлежности для обеих переменных ввода и вывода, заданных как разделенная запятой пара, состоящая из "MFType" и любой "trimf" (треугольный MF) или "gaussmf" (Гауссов MF). Для каждой переменной ввода и вывода функции принадлежности равномерно распределены по переменному диапазону приблизительно с 80%-м перекрытием в поддержках MF.

Отметьте для того, чтобы автоматически добавить правила, заданные как разделенная запятой пара, состоящая из "AddRules" и одно из следующего:

  • "allcombinations" — Если оба NumInputs и NumOutputs больше нуля, создают правила с антецедентами, которые содержат все входные комбинации функции принадлежности. Каждое следствие правила содержит все выходные переменные и использует первую функцию принадлежности каждого выхода.

  • "none" — Создайте FIS без любых правил.

Свойства

развернуть все

Имя FIS, заданное как строка или вектор символов.

Метод операции И для объединения fuzzified входные значения в нечетком антецеденте правила, заданном как одно из следующего:

  • "min" — Минимум fuzzified входных значений

  • "prod" — Продукт fuzzified входных значений

  • Строка или вектор символов — Имя пользовательской функции И в текущей рабочей папке или на пути MATLAB®

  • Указатель на функцию — Пользовательская функция И в текущей рабочей папке или на пути MATLAB

Для получения дополнительной информации об использовании пользовательских функций смотрите Сборку Нечеткие Системы Используя Пользовательские Функции.

Для получения дополнительной информации о нечетких операторах и нечетком процессе вывода, смотрите Нечеткий Процесс Вывода.

Метод операции ИЛИ для объединения fuzzified входные значения в нечетком антецеденте правила, заданном как одно из следующего:

  • "max" — Максимум fuzzified входных значений.

  • "probor" — Вероятностный OR fuzzified входных значений. Для получения дополнительной информации смотрите probor.

  • Строка или вектор символов — Имя пользовательского OR функционируют в текущей рабочей папке или на пути MATLAB.

  • Указатель на функцию — Пользовательский OR функционирует в текущей рабочей папке или на пути MATLAB.

Для получения дополнительной информации об использовании пользовательских функций смотрите Сборку Нечеткие Системы Используя Пользовательские Функции.

Для получения дополнительной информации о нечетких операторах и нечетком процессе вывода, смотрите Нечеткий Процесс Вывода.

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

  • "min" — Обрежьте последовательную функцию принадлежности при предшествующем значении результата.

  • "prod" — Масштабируйте последовательную функцию принадлежности предшествующим значением результата.

  • Строка или вектор символов — Имя пользовательского значения функционируют в текущей рабочей папке или на пути MATLAB.

  • Указатель на функцию — Пользовательское значение функционирует в текущей рабочей папке или на пути MATLAB.

Для получения дополнительной информации об использовании пользовательских функций смотрите Сборку Нечеткие Системы Используя Пользовательские Функции.

Для получения дополнительной информации о значении и нечетком процессе вывода, смотрите Нечеткий Процесс Вывода.

Метод агрегации для объединения следствий правила, заданных как одно из следующего:

  • "max" — Максимум последовательных нечетких множеств

  • "sum" — Сумма последовательных нечетких множеств

  • "probor" — Вероятностный OR последовательных нечетких множеств. Для получения дополнительной информации смотрите probor.

  • Строка или вектор символов — Имя пользовательской агрегации функционируют в текущей рабочей папке или на пути MATLAB

  • Указатель на функцию — Пользовательская агрегация функционирует в текущей рабочей папке или на пути MATLAB

Для получения дополнительной информации об использовании пользовательских функций смотрите Сборку Нечеткие Системы Используя Пользовательские Функции.

Для получения дополнительной информации об агрегации и нечетком процессе вывода, смотрите Нечеткий Процесс Вывода.

Метод Defuzzification для вычислительных четких выходных значений от агрегированного выходного нечеткого множества. Тип 2 Системы Mamdani поддерживают только центроид defuzzification.

Входные переменные FIS, заданные как вектор fisvar объекты. Чтобы добавить и удалить входные переменные, используйте addInput и removeInput, соответственно.

Можно также создать вектор fisvar объекты и присвоение это к Inputs использование записи через точку.

Можно добавить функции принадлежности во входные переменные с помощью addMF функция.

Выходные переменные FIS, заданные как вектор fisvar объекты. Чтобы добавить и удалить выходные переменные, используйте addOutput и removeOutput, соответственно.

Можно также создать вектор fisvar объекты и присвоение это к Outputs использование записи через точку.

Можно добавить функции принадлежности в выходные переменные с помощью addMF функция.

Входные переменные FIS, заданные как вектор fisrule объекты. Чтобы добавить нечеткие правила, используйте addRule функция.

Можно также создать вектор fisrule объекты и присвоение это к Rules использование записи через точку.

Чтобы удалить правило, установите соответствующий элемент вектора правила на []. Например, чтобы удалить десятое правило из списка правил, введите:

fis.Rules(10) = [];

Отметьте для отключения проверок на непротиворечивость, когда значения свойств изменятся, заданный как логическое значение.

По умолчанию, когда вы изменяете значение свойства mamfistype2 объект, программное обеспечение проверяет, сопоставимо ли новое значение свойства с другими свойствами объектов. Эти проверки могут влиять на производительность, особенно при создании и обновлении нечетких систем в циклах.

Чтобы отключить эти проверки, который приводит к быстрее конструкции FIS, устанавливает DisableSturcturalChecks к true.

Примечание

Отключение структурных проверок может привести к недопустимому mamfistype2 объект.

Чтобы повторно включить проверки на непротиворечивость, сначала проверьте, что изменения, которые вы внесли в FIS, сопоставимы и производят допустимый mamfistype2 объект. Затем установите DisableSturcturalChecks к false. Если mamfistype2 объект недопустим, перевключение проверок на непротиворечивость генерирует ошибку.

Метод сокращения типа для преобразования типа 2 вывел нечеткое множество к нечеткому множеству типа 1 интервала, заданному как одно из следующего:

  • "karnikmendel" — Карник-Мендель

  • "ekm" — Расширенный Карник-Мендель

  • "iasc" — Итеративный алгоритм с условием остановки

  • "eiasc" — Расширенный итеративный алгоритм

  • Строка — Имя пользовательского сокращения типа функционирует в текущей рабочей директории или на пути MATLAB.

  • Указатель на функцию — Указатель на функцию к пользовательскому сокращению типа функционирует в текущей рабочей папке или на пути MATLAB.

Для получения дополнительной информации о сокращении типа смотрите Тип 2 Нечеткие Системы Вывода.

Функции объекта

addInputДобавьте входную переменную в нечеткую систему вывода
removeInputУдалите входную переменную из нечеткой системы вывода
addOutputДобавьте выходную переменную в нечеткую систему вывода
removeOutputУдалите выходную переменную из нечеткой системы вывода
addRuleДобавьте правило в нечеткую систему вывода
addMFДобавьте функцию принадлежности в нечеткую переменную
removeMFУдалите функцию принадлежности от нечеткой переменной
evalfisОцените нечеткую систему вывода
writeFISСохраните нечеткую систему вывода в файл
convertToType1Преобразуйте тип 2 нечеткая система вывода в тип 1 нечеткая система вывода

Примеры

свернуть все

Создайте тип 2 Mamdani нечеткая система вывода со значениями свойств по умолчанию.

fis = mamfistype2;

Измените системные свойства с помощью записи через точку. Например, установите метод сокращения типа использовать расширенный метод Карник-Менделя.

fis.TypeReductionMethod = "ekm";

В качестве альтернативы можно задать одно из большего количества свойств FIS, когда вы создаете нечеткую систему.

fis = mamfistype2('TypeReductionMethod',"ekm");

Создайте тип 2 Mamdani нечеткая система вывода с тремя входными параметрами и одним выходом.

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.

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

Введенный в R2019b

Для просмотра документации необходимо авторизоваться на сайте