sugfistype2

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

Описание

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

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

  • Тип 2 Система Mamdani с помощью a mamfistype2 объект

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

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

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

Создание

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

  • sugfistype2 функция.

  • Если у вас есть данные о вводе/выводе, можно использовать genfis функция. Можно затем преобразовать этот FIS в системное использование типа 2 convertToType2.

  • Если у вас есть .fis файл для системы Sugeno, можно использовать readfis функция.

  • Преобразуйте существующий тип 2 Mamdani FIS в использование Sugeno FIS convertToSugeno.

Описание

пример

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

пример

fis = sugfistype2(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.

Выходные функции принадлежности установлены в "constant" и равномерно распределенный в областях значений выходной переменной.

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

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

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

Свойства

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

FIS называют в виде строки или вектора символов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Метод значения для вычислительного последовательного нечеткого множества в виде "prod". Системы Sugeno всегда используют "prod" метод значения, который масштабирует последовательную функцию принадлежности предшествующим значением результата.

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

Метод агрегации для объединения следствий правила в виде "sum". Системы Sugeno всегда используют "sum" метод агрегации, который является суммой последовательных нечетких множеств.

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

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

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

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

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

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

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

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

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

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

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

fis.Rules(10) = [];

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

fis = sugfistype2;

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

fis.TypeReductionMethod = "ekm";

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

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

Создайте тип 2 Sugeno нечеткая система вывода с тремя входными параметрами и одним выходом. Тип 2 система Sugeno использует функции принадлежности типа 2 только для его входных переменных.

fis = sugfistype2("NumInputs",3,"NumOutputs",1)
fis = 
  sugfistype2 with properties:

                       Name: "fis"
                  AndMethod: "prod"
                   OrMethod: "probor"
          ImplicationMethod: "prod"
          AggregationMethod: "sum"
      DefuzzificationMethod: "wtaver"
                     Inputs: [1x3 fisvar]
                    Outputs: [1x1 fisvar]
                      Rules: [1x27 fisrule]
    DisableStructuralChecks: 0
        TypeReductionMethod: "karnikmendel"

	See 'getTunableSettings' method for parameter optimization.

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

Введенный в R2019b