Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Редактор СНВ. Построение нечетких систем по Мамдани



Редактор СНВ. Построение нечетких систем по Мамдани.

Для построения создаваемой системы в командной строке основного окна Matlab необходимо набрать команду fuzzy. Окно редактора новой СНВ содержит входную, обозначенную input1 и выходную — output1 переменные. По умолчанию ИНЛ предлагает создавать СНВ типа Мамдани.

Для того чтобы добавить новую переменную, необходимо выбрать в меню Edit соответствующий пункт (для входной переменной – Add input, для выходной – Add output). Изменение наименования переменной происходит по шагам.

Шаг 1. Отмечается переменная, которую необходимо переименовать.

Шаг 2. В поле редактирования изменяется наименование переменной по умолчанию на имя, предложенное пользователем.

Сохранение проектируемой системы в рабочее пространство среды MATLAB (в переменную) производится с помощью пункта меню FileSave to workspace as... В этом случае данные сохраняются до окончания сеанса работы с Matlab. Для сохранения данных на диске после окончания сеанса работы применяется соответствующий пункт того же меню – Save to disk as...

Редактор ФП. Следующим шагом в построении нечеткой модели средствами ИНЛ является ассоциирование набора ФП с каждой входной и выходной переменной. Данная операция производится в редакторе ФП тремя способами, активизировать который можно:

· выбором в меню View пункта Edit Membership Functions...;

· двойным щелчком мыши на изображении соответствующей переменной (входной или выходной);

· набором в командной строке оператора mfedit.

С помощью редактора ФП можно отображать и редактировать любые ФП, ассоциированные (связанные) со всеми входными и выходными переменными разрабатываемой СНВ.

Связывание ФП с именем переменной происходит следующим образом:

· выбирается переменная по имени из набора графических объектов окна редактора ФП;

· указывается диапазон изменения значений для базовой и видимый диапазон для текущей переменных;

· в меню Edit выбирается пункт Add MFs... В появившемся окне выбирают вид ФП и их количество.

Редактируют ФП текущей переменной двумя способами: используя графическое окно ФП или изменяя характеристики ФП (наименование, тип и числовые параметры). При выборе необходимой ФП в графическом окне допускается плавное изменение кривой с помощью мыши.

Таким образом, при построении СНВ необходимо с помощью редактора ФП определить соответствующие функции для каждой из входных и выходных переменных.

Редактор правил вывода.После того как указано количество входных и выходных переменных, определены их наименования и построены соответствующие ФП, в СНВ необходимо включить правила вывода. Для этого в меню View выбирается пункт Edit Rules... или в командной строке Matlab набирается команда ruleedit.

Основываясь на описаниях входных и выходных переменных, определенных в редакторе ФП, редактор правил вывода формирует структуру правила автоматически. От пользователя требуется лишь связать значения входных и выходных переменных, выбирая из списка заданных ранее ФП и определить логические связки между ними. Также допускается использование логического отрицания (НЕ) и изменение весов правил в диапазоне от 0 до 1.

Правила вывода могут отображаться в окне в различных форматах, которые определяются путем выбора соответствующего пункта подменю Format меню Options. По умолчанию используется расширенный формат отображения правил вывода (verbose form):

If (input_1 is[not] mf_1j1) <and, or>...(input_i is[not] mf_iji)...<and,or>

(input_n is[not] mf__njn) then

(output_1 is[not] mf_n + 1jn+1) <and, or>...

(output_k is[not] mf_k + njk+n) <and, or>... (output_m is[not] mf_m + njm+n) (w),

где i – номер входной переменной;

ji – номер ФП i -й переменной;

k – номер выходной переменной;

n – количество входных переменных;

т – количество выходных переменных;

w – вес правила.

(Круглые скобки заключают в себе обязательные параметры, квадратные – необязательные, а угловые – альтернативные параметры (один на выбор)).

Кроме формата по умолчанию, существуют еще два вида форматов отображения правил: символьный (symbolic form) и индексный (indexed form). Символьный формат имеет следующий вид:

(input_1<~=,==>mf_1j1)<&, | >...

(input_i<~=,==>mf_iji)…<&, | >

(input_n<~=,==>mf_njn)= >

(output_1<~=,==>mf_n + 1jn+1)...<&, | >

(output_k<~=,==>mf_k + njk+n) <&, | >...

(output_m<~=,==>mf_m + njmn) (W)

Отличие символьного формата от расширенного состоит в том, что вместо словесной интерпретации связок используется символьная (символы «&» и «|» – соответственно определяют логическое И и логическое ИЛИ, символ «~»– логическое отрицание, а символ «=>» является разделителем условной и заключительной частей правила (антецендента и консеквента).

Общее описание правила вывода в индексном формате может быть представлено в следующем виде:

[-]1 j 1…[-] iji …[-] njn [-] n +1 jn +1…[-] k+ njk+1 …[-] m+nj m+n(w):<1,2>.

Здесь порядок следования чисел соответствует очередности вводимых переменных, причем символ «,» разделяет правило на условную и заключительную части. До двоеточия записывается порядковый номер соответствующей ФП, после двоеточия – вид логической связки («1» – логическое И, «2» – логическое ИЛИ). Логическое отрицание задается символом «–».

После определения правил вывода в одноименном редакторе можно утверждать, что СНВ полностью создана.





Дата публикования: 2014-12-08; Прочитано: 315 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...