Отобразите нечеткие системные правила вывода
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.