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