Добавьте правило в нечеткую систему вывода
fisOut = addRule(fisIn)
fisOut = addRule(fisIn,ruleDescription)
добавляют одно или несколько нечетких правил с помощью описаний правила в fisOut
= addRule(fisIn
,ruleDescription
)ruleDescription
.
Загрузите нечеткую систему вывода (FIS) и очистите существующие правила.
fis = readfis('tipper');
fis.Rules = [];
Добавьте правило в FIS.
ruleTxt = 'If service is poor then tip is cheap';
fis2 = addRule(fis,ruleTxt);
fis2
эквивалентен fis
, за исключением того, что заданное правило добавляется к основе правила.
fis2.Rules
ans = fisrule with properties: Description: "service==poor => tip=cheap (1)" Antecedent: [1 0] Consequent: 1 Weight: 1 Connection: 1
Загрузите нечеткую систему вывода (FIS) и очистите существующие правила.
fis = readfis('tipper');
fis.Rules = [];
Задайте следующие правила с помощью символьных выражений:
Если service
является poor
, или food
является rancid
затем, tip
является cheap
.
Если service
является excellent
, и food
не является rancid
затем, tip
является generous
.
rule1 = "service==poor | food==rancid => tip=cheap"; rule2 = "service==excellent & food~=rancid => tip=generous"; rules = [rule1 rule2];
Добавьте правила в FIS.
fis2 = addRule(fis,rules);
fis2
эквивалентен fis
, за исключением того, что заданные правила добавляются к основе правила.
fis2.Rules
ans = 1x2 fisrule array with properties: Description Antecedent Consequent Weight Connection Details: Description _______________________________________________________ 1 "service==poor | food==rancid => tip=cheap (1)" 2 "service==excellent & food~=rancid => tip=generous (1)"
Загрузите нечеткую систему вывода (FIS) и очистите существующие правила.
fis = readfis('mam22.fis');
fis.Rules = [];
Задайте следующие правила с помощью индексов функции принадлежности:
Если angle
является small
, и velocity
является big
, то force
является negBig
, и force2
является posBig2
.
Если angle
не является small
, и velocity
является small
, то force
является posSmall
, и force2
является negSmall2
.
rule1 = [1 2 1 4 1 1]; rule2 = [-1 1 3 2 1 1]; rules = [rule1; rule2];
Добавьте правила в FIS.
fis2 = addRule(fis,rules);
fis2
эквивалентен fis
, за исключением того, что заданные правила добавляются к основе правила.
fis2.Rules
ans = 1x2 fisrule array with properties: Description Antecedent Consequent Weight Connection Details: Description ________________________________________________________________________ 1 "angle==small & velocity==big => force=negBig, force2=posBig2 (1)" 2 "angle~=small & velocity==small => force=posSmall, force2=negSmall2 (1)"
fisIn
— Нечеткая система выводаmamfis
| объект sugfis
Нечеткая система вывода, заданная как объект mamfis
или sugfis
.
ruleDescription
— Управляйте описаниемУправляйте описанием, заданное использование или текст или числовое определение правила
Для текстового описания правила задайте ruleDescription
как одно из следующего:
Строка или вектор символов, задающий одно правило
rule = "If service is poor or food is rancid then tip is cheap";
Массив строк, где каждый элемент соответствует правилу. Например:
ruleList = ["If service is poor or food is rancid then tip is cheap"; "If service is good then tip is average"; "If service is excellent or food is delicious then tip is generous"];
Символьный массив, где каждая строка соответствует правилу. Например:
rule1 = 'If service is poor or food is rancid then tip is cheap'; rule2 = 'If service is good then tip is average'; rule3 = 'If service is excellent or food is delicious then tip is generous'; ruleList = char(rule1,rule2,rule3);
Для каждого правила используйте один из следующих текстовых форматов правила:
Многословный — Лингвистическое выражение в следующем формате, с помощью IF
и ключевых слов THEN
:
"IF <antecedent> THEN <consequent> (<weight>)"
В <antecedent>
задайте функцию принадлежности для каждой входной переменной с помощью ключевого слова IS NOT
или IS
. Соедините эти условия с помощью ключевых слов OR
или AND
. Если правило не использует данную входную переменную, не используйте его от антецедента.
В <consequent>
задайте условие для каждой выходной переменной с помощью IS
или ключевого слова IS NOT
, и разделите эти условия, с использованием запятых. Ключевое слово IS NOT
не поддержано для Sugeno выходные параметры. Если правило не использует данную выходную переменную, не используйте его от следствия.
Задайте вес с помощью положительного численного значения.
Например:
"IF A IS a AND B IS NOT b THEN X IS x, Y IS NOT y (1)"
Символьный — Выражение, которое использует символы в следующей таблице вместо ключевых слов. Нет никакого символа для ключевого слова IF
.
Символ | Ключевое слово |
---|---|
== | IS (в антецеденте правила) |
~= | IS NOT |
& | AND |
| | OR |
=> | THEN |
= | IS (в следствии правила) |
Например, следующее символьное правило эквивалентно предыдущему многословному правилу.
"A==a & B~=b => X=x, Y~=y (1)"
Для числового описания правила задайте ruleDescription
как одно из следующего:
Вектор - строка, чтобы задать одно нечеткое правило
Массив, где каждая строка ruleValues
задает одно правило
Для каждой строки числовое описание правила имеет M +N+2 столбцы, где M является количеством входных переменных, и N является количеством выходных переменных. Каждый столбец содержит следующую информацию:
Первые столбцы M задают входные индексы функции принадлежности и соответствуют свойству Antecedent
правила. Чтобы указать на условие NOT
, задайте отрицательную величину. Если правило не использует данный, вводят, устанавливают соответствующий индекс на 0
. Для каждого правила по крайней мере один входной индекс функции принадлежности должен быть ненулевым.
Следующие столбцы N задают выходные индексы функции принадлежности и соответствуют свойству Consequent
правила. Чтобы указать на условие NOT
для систем Mamdani, задайте отрицательную величину. условия NOT
не поддержаны для Sugeno выходные параметры. Если правило не использует данный, выводят, устанавливают соответствующий индекс на 0
. Для каждого правила по крайней мере один выходной индекс функции принадлежности должен быть ненулевым.
Столбец M +N+1 задает вес правила и соответствует свойству Weight
правила.
Последний столбец задает предшествующий нечеткий оператор и соответствует свойству Connection
правила.
fisOut
— Нечеткая система выводаmamfis
| объект sugfis
Нечеткая система вывода, возвращенная как объект mamfis
или sugfis
. fisOut
содержит добавленные правила со всеми другими свойствами, совпадающими с теми из fisIn
.
Поведение изменяется в R2018b
addrule
является теперь addRule
. Чтобы обновить ваш код, поменяйте имя функции от addrule
до addRule
. Синтаксисы эквивалентны.
Не рекомендуемый запуск в R2018b
Поддержка представления нечетких систем вывода как структуры будет удалена в будущем релизе. Используйте mamfis
и объекты sugfis
вместо этого. Существуют различия между этими представлениями, которые требуют обновлений вашего кода. Эти различия включают:
Имена свойства объекта, которые отличаются от соответствующих полей структуры.
Объекты хранят текстовые данные как строки, а не как векторы символов.
Кроме того, все функции Fuzzy Logic Toolbox™, которые приняли или возвратили нечеткие системы вывода как структуры теперь, принимают и возвращают или mamfis
или объекты sugfis
.
Чтобы преобразовать существующие нечеткие структуры системы вывода в объекты, используйте функцию convertfis
.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.