Отобразите нечеткие системные правила вывода
showrule(
правила отображений с помощью опций заданы одним или несколькими fis
,Name,Value
)Name,Value
парные аргументы.
Загрузите нечеткую систему вывода.
fis = readfis('tipper');
Отобразите правила с помощью лингвистических выражений.
showrule(fis)
ans = 3x78 char array
'1. If (service is poor) or (food is rancid) then (tip is cheap) (1) '
'2. If (service is good) then (tip is average) (1) '
'3. If (service is excellent) or (food is delicious) then (tip is generous) (1)'
Отобразите правила с помощью символьных выражений.
showrule(fis,'Format','symbolic')
ans = 3x65 char array
'1. (service==poor) | (food==rancid) => (tip=cheap) (1) '
'2. (service==good) => (tip=average) (1) '
'3. (service==excellent) | (food==delicious) => (tip=generous) (1)'
Отобразите правила с помощью индексов функции принадлежности.
showrule(fis,'Format','indexed')
ans = 3x15 char array
'1 1, 1 (1) : 2 '
'2 0, 2 (1) : 1 '
'3 2, 3 (1) : 2 '
Загрузите нечеткую систему вывода.
fis = readfis('tipper');
Отобразите первые и третьи правила.
showrule(fis,'RuleIndex',[1 3])
ans = 2x78 char array
'1. If (service is poor) or (food is rancid) then (tip is cheap) (1) '
'3. If (service is excellent) or (food is delicious) then (tip is generous) (1)'
Загрузите нечеткую систему вывода.
fis = readfis('tipper');
Отобразите правила на немецком языке, использующем 'deutsch'
язык.
showrule(fis,'Language','deutsch')
ans = 3x85 char array
'1. Wenn (service ist poor) oder (food ist rancid) dann (tip ist cheap) (1) '
'2. Wenn (service ist good) dann (tip ist average) (1) '
'3. Wenn (service ist excellent) oder (food ist delicious) dann (tip ist generous) (1)'
fis
— Нечеткая система выводаmamfis
объект | sugfis
объект | mamfistype2
объект | sugfistype2
объектНечеткая система вывода в виде одного из следующего:
mamfis
объект — Mamdani нечеткая система вывода
sugfis
объект — Sugeno нечеткая система вывода
mamfistype2
объект — Тип 2 Mamdani нечеткая система вывода
sugfistype2
объект — Тип 2 Sugeno нечеткая система вывода
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Format','symbolic'
устанавливает формат отображения правила использовать нейтральные в отношении языка символьные выражения.RuleIndex
— Правила отобразитьсяПравила отобразиться в виде разделенной запятой пары, состоящей из 'RuleIndex'
и одно из следующего:
Положительное целое число — индекс одного правила отобразиться
Вектор из положительных целых чисел — индексы нескольких правил отобразиться
Вектор по умолчанию включает индексы для всех правил в fis
.
Format
— Управляйте форматом'verbose'
(значение по умолчанию) | 'symbolic'
| 'indexed'
Управляйте форматом в виде разделенной запятой пары, состоящей из 'Format'
и одно из следующего:
'verbose'
— Используйте лингвистические выражения.
'If (service is poor) or (food is rancid) then (tip is cheap) (1)'
Вес правила отображен в круглых скобках в конце правила.
Можно задать язык правила с помощью Language
опция.
'symbolic'
— Используйте нейтральные в отношении языка символьные выражения.
'(service==poor) | (food==rancid) => (tip=cheap) (1)'
Символьные правила используют следующие символы.
Компонент правила | Символ |
---|---|
И | & |
ИЛИ | | |
IS (в антецеденте) | == |
IS (в следствии) | = |
НЕ | ~= |
Значение (затем) | => |
Вес правила отображен в круглых скобках в конце правила.
'indexed'
— Используйте индексы функции принадлежности (MF) ввода и вывода и целочисленное представление нечетких операторов.
Индексируемые правила отображаются в следующем формате:
'<input MFs>, <output MFs>, (<weight>) : <logical operator - 1 (AND), 2 (OR)>'
Например:
'1 1, 1 (1) : 2'
Чтобы указать на операции NOT для функций принадлежности ввода и вывода, программное обеспечение использует отрицательные индексы. Например, чтобы указать "не на вторую функцию принадлежности", программное обеспечение использует -2
.
Чтобы указать на не заботятся об условии для функции принадлежности ввода или вывода, программное обеспечение использует 0
.
Language
— Управляйте языком'english'
(значение по умолчанию) | 'francais'
| 'deutsch'
Управляйте языком для 'verbose'
формат в виде разделенной запятой пары, состоящей из 'Language'
и одно из следующего:
'english'
— Отобразите правила на английском языке.
'If (service is poor) or (food is rancid) then (tip is cheap) (1)'
'francais'
— Отобразите правила на французском языке.
'Si (service est poor) ou (food est rancid) alors (tip est cheap) (1)'
'deutsch'
— Отобразите правила на немецком языке.
'Wenn (service ist poor) oder (food ist rancid) dann (tip ist cheap) (1)'
Программное обеспечение отображает правила FIS с помощью следующих ключевых слов.
Компонент правила | Английский язык | Французский язык | Немецкий язык |
---|---|---|---|
Запустите антецедента | if | si | wenn |
И | and | et | und |
ИЛИ | or | ou | oder |
Запустите следствия (значение) | then | alors | dann |
is | est | ist | |
НЕ | is not | n''est_pas | ist nicht |
Предупреждает запуск в R2019b
Поддержка представления нечетких систем вывода как структуры будет удалена в будущем релизе. Использование mamfis
и sugfis
объекты вместо этого. Существуют различия между этими представлениями, которые требуют обновлений вашего кода. Эти различия включают:
Имена свойства объекта, которые отличаются от соответствующих полей структуры.
Объекты хранят текстовые данные как строки, а не как векторы символов.
Кроме того, все функции Fuzzy Logic Toolbox™, которые приняли или возвратили нечеткие системы вывода как структуры теперь, принимают и возвращаются также mamfis
или sugfis
объекты.
Чтобы преобразовать существующие нечеткие структуры системы вывода в объекты, используйте convertfis
функция.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.