Контроллер нечеткой логики

Оцените нечеткую систему вывода

  • Библиотека:
  • Fuzzy Logic Toolbox

Описание

Блок Fuzzy Logic Controller реализует нечеткую систему вывода (FIS) в Simulink®. Вы задаете FIS, чтобы оценить использование параметра FIS name.

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

Чтобы отобразить нечеткий процесс вывода в Средстве просмотра Правила во время симуляции, используйте блок Fuzzy Logic Controller with Ruleviewer.

Порты

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

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

Для одно входа нечеткая система вывода вход является скалярным сигналом. Для мультивхода нечеткая система объединитесь, входные параметры в векторное использование сигнала блокируется, такие как:

Вывод

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

Для одно вывода нечеткая система вывода вывод является скалярным сигналом. Для мультивывода нечеткая система вывод является векторным сигналом. Чтобы разделить систему выходные параметры в скалярные сигналы, используйте блок Demux.

Входные значения Fuzzified, полученные путем оценки входных функций принадлежности каждого правила в текущих входных значениях.

fi является NR-by-NU матричный сигнал, где NR является количеством правил FIS, и NU является количеством входных параметров FIS. Элемент (i, j) fi является значением входной функции принадлежности для j th вход в i th правило.

Для получения дополнительной информации о fuzzifying входных значениях см. Входные параметры Fuzzify.

Зависимости

Чтобы включить этот порт, выберите параметр Fuzzified inputs (fi).

Управляйте сильными местами увольнения, полученными путем оценки антецедента каждого правила; то есть, применяя нечеткий оператор к значениям входных параметров fuzzified.

rfs является сигналом вектор-столбца длины NR, где элемент i является силой увольнения i th правило.

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

Зависимости

Чтобы включить этот порт, выберите параметр Rule firing strengths (rfs).

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

Для системы Mamdani каждое правило вывело, нечеткое множество. В этом случае ro является NS (NR NY) матричный сигнал. Здесь NS является количеством точек выборки, используемых для оценки областей значений выходной переменной, и NY является количеством выходных переменных. Каждый столбец ro содержит выходное нечеткое множество для одного правила. Первые столбцы NR содержат правило выходные параметры для первой выходной переменной, следующие столбцы NR соответствуют второй выходной переменной и так далее.

Для системы Sugeno каждое правило вывело, скалярное значение. В этом случае ro является NR-by-NY матричный сигнал. Элемент (j, k) ro является значением k th выходная переменная для j th правило.

Для получения дополнительной информации о нечетком значении смотрите, Применяют Метод Значения и Что такое Sugeno-тип Нечеткий Вывод?

Зависимости

  • Чтобы включить этот порт, выберите параметр Rule outputs (ro).

  • Чтобы задать NS, используйте параметр Number of samples for output discretization.

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

Для системы Mamdani итоговым результатом для каждой выходной переменной является нечеткое множество. В этом случае ao как NS-by-NY матричный сигнал. Каждый столбец ao содержит совокупное нечеткое множество для одной выходной переменной.

Для системы Sugeno итоговым результатом для каждой выходной переменной является скалярное значение. В этом случае ao является сигналом вектора - строки длины NY, где элемент k является итоговым результатом для k th выходная переменная.

Для получения дополнительной информации о нечеткой агрегации смотрите Агрегат Все Выходные параметры и Что такое Sugeno-тип Нечеткий Вывод?

Зависимости

  • Чтобы включить этот порт, выберите параметр Aggregated outputs (ao).

  • Чтобы задать NS, используйте параметр Number of samples for output discretization.

Параметры

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

Общий

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

  • Объект mamfis или sugfis — Задает имя объекта FIS в рабочей области MATLAB®.

    Чтобы создать нечеткую систему вывода, вы можете:

  • Имя файла — Задает имя файла .fis в текущей рабочей папке или на пути MATLAB. Включая расширение файла в имени файла является дополнительным.

    Сохранить нечеткую систему вывода в файл .fis:

    • В Fuzzy Logic Designer или Neuro-Fuzzy Designer, выберите File> Export> To File.

    • В командной строке используйте writeFIS.

Количество выборок для дискретизации области значений выходных переменных, заданных как целое число, больше, чем 1. Это значение соответствует числу точек в выходном нечетком множестве для каждого правила.

Чтобы уменьшать использование памяти при оценке Mamdani FIS, задайте более низкое количество выборок. Выполнение так жертвует точностью defuzzified выходного значения. Определение небольшого числа выборок может сделать область вывода для нуля defuzzification. В этом случае defuzzified выходное значение является средней точкой области значений выходной переменной.

Примечание

Блок игнорирует этот параметр при оценке Sugeno FIS.

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

  • 'double' Сигналы с двойной точностью

  • единственный Сигналы с одинарной точностью

  • fixdt(1,16,0) — Фиксированная точка сигнализирует с масштабированием двоичной точки

  • fixdt(1,16,2^0,0) — Фиксированная точка сигнализирует с масштабированием смещения и наклоном

  • Выражение — Выражение, которое оценивает к одному из этих типов данных

Для типов данных с фиксированной точкой можно сконфигурировать размер слова со знаком и масштабные коэффициенты с помощью Data Type Assistant. Для получения дополнительной информации смотрите Определение Типа данных с фиксированной точкой (Simulink).

Включите выходной порт для доступа к промежуточному звену fuzzified входные данные.

Включите выходной порт для доступа к промежуточному правилу, запускающему данные о силе.

Включите выходной порт для доступа к промежуточным выходным данным правила.

Включите выходной порт для доступа к промежуточным совокупным выходным данным.

Режим Simulation, заданный как одно из следующего:

  • Interpreted execution — Моделируйте нечеткие системы с помощью предварительно скомпилированных файлов MEX для типов данных double и single. Используя эту опцию уменьшает начальное время компиляции модели.

  • Code generation — Моделируйте нечеткую систему без предварительно скомпилированных файлов MEX. Используйте эту опцию при симуляции нечетких систем для приложений генерации кода.

Для типов данных с фиксированной точкой блок Fuzzy Logic Controller всегда моделирует режим Code generation использования.

Диагностика

Диагностическое поведение сообщения, когда вход вне области значений, заданной как одно из следующего:

  • предупреждение Сообщите о диагностическом сообщении как о предупреждении.

  • ошибка Сообщите о диагностическом сообщении как об ошибке.

  • 'none' Не сообщайте о диагностическом сообщении.

Когда входное значение вне области значений, соответствующие правила в нечеткой системе могут иметь неожиданные сильные места увольнения.

Зависимости

  • Диагностические сообщения предоставлены только, когда параметром Simulate using является Interpreted execution.

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

  • предупреждение Сообщите о диагностическом сообщении как о предупреждении.

  • ошибка Сообщите о диагностическом сообщении как об ошибке.

  • 'none' Не сообщайте о диагностическом сообщении.

Когда No rule fired является warning или none и никакой огонь правил для данного вывода, defuzzified выходное значение установлено в свое среднее значение области значений.

Зависимости

  • Диагностические сообщения предоставлены только, когда параметром Simulate using является Interpreted execution.

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

  • предупреждение Сообщите о диагностическом сообщении как о предупреждении.

  • ошибка Сообщите о диагностическом сообщении как об ошибке.

  • 'none' Не сообщайте о диагностическом сообщении.

Когда Empty output fuzzy set является warning или none, и выходное нечеткое множество пусто, defuzzified значение для соответствующего вывода установлено к его среднему значению области значений.

Зависимости

  • Это диагностическое сообщение применяется к системам Mamdani только.

  • Диагностические сообщения предоставлены только, когда параметром Simulate using является Interpreted execution.

Вопросы совместимости

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

Не рекомендуемый запуск в R2018b

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Представлено до R2006a

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