Отобразите системные правила нечеткого вывода
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
объект - Type-2 системы нечеткого вывода Мамдани
sugfistype2
объект - Type-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'
Чтобы указать операции НЕ для входных и выходных функций принадлежности, программное обеспечение использует отрицательные индексы. Например, чтобы указать «не вторую функцию принадлежности», программное обеспечение использует -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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.