Fuzzy Logic Controller

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

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

  • Fuzzy Logic Controller block

Описание

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

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

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

Порты

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

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

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

Вывод

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

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

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

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

Для типа 2 FIS, fi NR (2*NU) матричный сигнал. Первые столбцы NU содержат fuzzified значения верхней функции принадлежности для каждого правила, и последние столбцы NU содержат fuzzified значения от более низких функций принадлежности.

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

Зависимости

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

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

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

Для типа 2 FIS, rfs NR-by-2 матричный сигнал. Первый столбец содержит правило, запускающее сильные места, сгенерированные с помощью верхних функций принадлежности, и второй столбец содержит правило, запускающее сильные места, сгенерированные с помощью более низких функций принадлежности.

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

Зависимости

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

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

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

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

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

Для типа 2 система Sugeno, ro NR (3*NY) массив. Первые столбцы NY содержат уровни на выходе правила. Следующие столбцы NY содержат соответствующее правило, запускающее сильные места, сгенерированные с помощью верхних функций принадлежности. Последние столбцы NY содержат правило, запускающее сильные места, сгенерированные с помощью более низких функций принадлежности. Например, в системе с тремя выходами, столбцы 4 и 7 содержат сильные места увольнения для уровней на выходе в столбце 1.

Для получения дополнительной информации о нечетком значении смотрите, Применяют Метод Значения.

Зависимости

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

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

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

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

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

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

Для типа 2 система Sugeno, ao NR (3*NY) массив. aggregatedOut содержит те же данные как ro со столбцами, отсортированными на основе уровней на выходе. Например, в системе с тремя выходами, когда уровни на выходе в столбце 1 сортируются, соответствующие сильные места увольнения в столбцах 4 и 7 настроены соответственно.

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

Зависимости

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

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

Параметры

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

Общий

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

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

  • mamfistype2 или sugfistype2 объект — Задает имя объекта FIS типа 2 в рабочем пространстве MATLAB.

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

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

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

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

    Сохранить тип 2 нечеткая система вывода в .fis файл, использовать wrtieFIS.

Программируемое использование

Параметры блоков: FIS
Ввод: строка, вектор символов
Значение по умолчанию: "'tipper.fis'"

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

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

Примечание

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

Программируемое использование

Параметры блоков: OutputSampleNumber
Ввод: строка, вектор символов
Значение по умолчанию: "101"

Данные сигнала вводят в виде одного из следующего:

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

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

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

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

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

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

Программируемое использование

Параметры блоков: DataType
Ввод: строка, вектор символов
Значения: "double"единственный, "fixdt(1,16,0)", "fixdt(1,16,2^0,0)"
Значение по умолчанию: "double"

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

Программируемое использование

Параметры блоков: FuzzifiedInputs
Ввод: строка, вектор символов
Значения: "off"on
Значение по умолчанию: "off"

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

Программируемое использование

Параметры блоков: RuleFiringStrengths
Ввод: строка, вектор символов
Значения: "off"on
Значение по умолчанию: "off"

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

Программируемое использование

Параметры блоков: RuleOutputs
Ввод: строка, вектор символов
Значения: "off"on
Значение по умолчанию: "off"

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

Программируемое использование

Параметры блоков: AggregatedOutputs
Ввод: строка, вектор символов
Значения: "off"on
Значение по умолчанию: "off"

Режим Simulation в виде одного из следующего:

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

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

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

Программируемое использование

Параметры блоков: SimulateUsing
Ввод: строка, вектор символов
Значения: "Interpreted execution", "Code generation"
Значение по умолчанию: "Interpreted execution"

Диагностика

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

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

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

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

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

Зависимости

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

Программируемое использование

Параметры блоков: OutOfRangeInputValueMessage
Ввод: строка, вектор символов
Значения: "warning"ошибка'none'
Значение по умолчанию: "warning"

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

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

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

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

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

Зависимости

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

Программируемое использование

Параметры блоков: NoRuleFiredMessage
Ввод: строка, вектор символов
Значения: "warning"ошибка'none'
Значение по умолчанию: "warning"

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

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

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

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

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

Зависимости

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

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

Программируемое использование

Параметры блоков: EmptyOutputFuzzySetMessage
Ввод: строка, вектор символов
Значения: "warning"ошибка'none'
Значение по умолчанию: "warning"

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

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

Предупреждает запуск в R2019b

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

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

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

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

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