MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Проектирование систем управления\Fuzzy Logic Toolbox

Список функций Fuzzy Logic Toolbox

  В оглавление \ К следующему разделу \ К предыдущему разделу

PARSRULE

Замена правил нечеткой базы знаний

Синтаксис:

outfis = parsrule (infis, inrulelist, ruleformat, lang)
[outfis, outrulelist, errorstr] = parsrule (infis, inrulelist, ruleformat, lang)

Описание:

Функция parsrule предназначена для ввода правил в нечеткую базу знаний. При этом удаляются ранее существующие в базе знаний правила. Функция parsrule может иметь до четырех входных аргументов, первые два из которых обязательные:

  1. infis - идентификатор исходной системы нечеткого логического вывода;
  2. inrulelist - список правил "если - то". Правила можно задавать в виде предложений на английском, немецком и французских языках, а также в символьном и индексном форматах. Примеры правил в различных форматах приведены в руководстве пользователя по Rule Editor. При задании правил на естественном языке необходимо использовать следующие ключевые слова:
    - для английского языка - "if", "and", "or", "then", "is", "not";
    - для французского языка - "si", "et", "ou", "alors", "est ","n''est_pas";
    - для немецкого языка - "senn", "und", "oder", "dann", "ist", "nicht",
    которые эквиваленты русским словам "если", "и", "или", "то", "есть", "не", соответственно. Весовой коэффициент можно указать в конце правила. По умолчанию значение весового коэффициента равно 1. Список правил задается в виде матрицы, каждая строчка которой определяет одно правило;
  3. ruleformat - формат правил. Допустимые значения:
    'verbose' - словесный;
    'symbolic' - символьный;
    'indexed' - индексный.
    Значение по умолчанию - 'verbose'. Примеры представления нечетких правил в различных форматах приведены в разделе 7.3.В формате 'verbose' невозможно в качестве значений переменной использовать терм 'none'. Для задания "коротких" правил необходимо из правила исключить наименования соответствующих переменных;
  4. lang - язык представления правил в формате 'verbose'. Допустимые значения:
    'english' - английский;
    'francais' - французский;
    'deutsch' - немецкий.
    По умолчанию установлен английский язык.

Функция parsrule может иметь до трех выходных аргументов:

  1. outfis - идентификатор системы нечеткого логического вывода с новыми правилами;
  2. outrulelist - список правил системы outfis. Список представляет собой матрицу целых положительных чисел, соответствующих правилам, заданных матрицей inrulelist. Для преобразование чисел в символы необходимо использовать функцию char. Вошедшие в outfis корректно заданные правила в этом списке имеют порядковый номер. Наличие символа '#' указывает на то, что соответствующее правило является некорректным.
  3. errorstr - список ошибок задания правил.

Пример:

infis=readfis('tipper');
r1='if service is good then tip is average ';
r2='if service is poor and food is rancid then tip is cheap ';
r3='if service is excellent and food is delicious then tip is generous';
inrulelist=[r1; r2; r3];
outfis=parsrule(infis,inrulelist)

Загружается в рабочую область демонстрационная система нечеткого логического вывода "Tipper", задающая зависимость размера чаевых от качества пищи и уровня сервиса в ресторане. Затем формируется новая база знаний, содержащая следующие правила:

"if service is good then tip is average";
"if service is poor and food is rancid then tip is cheap";
"if service is excellent and food is delicious then tip is generous'".

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика