D.4 Fuzzy Logic Toolbox

D.4.1 Editoare grafice

D.4.2 Linia de comandă - proiectarea FIS condusă

D.4.3 Implementarea practică de sine stătătoare în C

Utilizarea logicii fuzzy în controlul inteligent a fost discutată în Capitolul 9. Caseta de instrumente a Logicii Fuzzy din MATLAB este destul de utilă în această privință. Folosind-o, creăm și edităm sisteme de luare a deciziilor fuzzy (pentru control și alte aplicații) cu ajutorul unor instrumente grafice interactive sau funcții linie de comandă. Simulink poate fi utilizat pentru a simula sistemul dezvoltat fuzzy. Sesiunea de timp poate crea cod C portabil dintr-un mediu Simulink pentru utilizare în aplicații în timp real sau nu. Cutia de instrumente oferă, de asemenea, coduri sursă în C pentru implementarea unui motor de inferență fuzzy autonom. Motorul de inferență fuzzy de cod C de sine stătător poate citi un fișier FIS (formatul de fișier pentru salvarea motorului fuzzy în MATLAB). Cu alte cuvinte, este capabil să analizeze informațiile stocate, să efectueze inferență directă, sau poate fi încorporat în alte aplicații externe. Procesul de proiectare a unui sistem de luare a deciziilor fuzzy implică următorii pași generali, așa cum este discutat în capitolul 9: date de intrare, fuzzificare, implicare (sau reguli fuzzy), agregare (sau compoziție) și defuzificare a inferenței.

D.4.1 Editoare grafice

Există cinci instrumente principale în interfața grafică cu utilizatorul (GUI) pentru construirea, editarea și observarea sistemelor de inferență fuzzy în caseta de instrumente logice fuzzy MATLAB: editorul FIS, editorul de funcții de membru, editorul de reguli, vizualizatorul de reguli și vizualizatorul de suprafață. Editorul FIS gestionează subiectele la nivel înalt pentru sistem; de exemplu, numărul de intrări, ieșiri și nume. Editorul de funcții de membru este utilizat pentru a defini formele funcțiilor de membru asociate cu fiecare variabilă. Editorul de reguli este folosit pentru editarea regulilor din baza de cunoștințe fuzzy, care descrie și definește cunoștințele aplicației (controlul cunoștințelor în cazul controlului fuzzy). Vizualizatorul de reguli și vizualizatorul de suprafață sunt folosite pentru observarea (nu editarea) FIS-ului proiectat. Încercați exemplul de tastare într-un restaurant făcând clic pe meniul fișier și încărcând FIS de pe disc. Tipper.fis se află la adresa: ./Matlabr12/toolbox/fuzzy/fuzzydemos/tipper.fis

1. editor FIS

Editorul FIS afișează informații generale despre un sistem de inferență fuzzy. Faceți dublu-clic pe o pictogramă pentru a deschide și a efectua editarea aferentă respectivului articol și pentru a salva rezultatele.

2. Editor de funcții de membru

Editorul de funcții de membru împărtășește unele caracteristici cu editorul FIS. Este o interfață bazată pe meniu, care permite utilizatorului să deschidă/să afișeze și să editeze funcțiile de membru pentru întregul sistem de inferență fuzzy; în special funcțiile de membru ale intrărilor și ieșirilor.

3. Editor de reguli

Editorul de reguli conține un câmp text editabil pentru afișarea și editarea regulilor. De asemenea, are câteva repere similare cu cele din editorul FIS și editorul funcțiilor de membru, inclusiv bara de meniu și linia de stare. Meniul pop-up Format este disponibil din meniul derulant Options din bara de meniu de sus. Acesta este utilizat pentru a seta formatul pentru afișaj.

4. Vizualizator de reguli

Rule Viewer afișează o foaie de parcurs a întregului proces de inferență fuzzy. Se bazează pe diagrama de inferențe fuzzy. Utilizatorul va vedea o fereastră cu o singură figură cu șapte diagrame mici cuibărite în ea. Cele două mici diagrame din partea de sus a figurii reprezintă precedenta și consecința primei reguli. Fiecare regulă este un rând de diagrame și fiecare coloană este o variabilă.

5. Vizualizator de suprafață

Acest lucru permite utilizatorului să vizualizeze suprafața totală de luare a deciziilor (suprafața de control, așa cum este discutată în capitolul 9). Aceasta este o reprezentare non-fuzzy a aplicației fuzzy și este analoagă unui tabel de căutare, deși continuă.

D.4.2 Linia de comandă - proiectarea FIS condusă

Un FIS pre-proiectat poate fi încărcat în spațiul de lucru MATLAB tastând:

Tastând comanda showfis(myfis) ne va permite să vedem detaliile FIS. Utilizați comanda getfis pentru a accesa informațiile despre FIS încărcate. De exemplu,

Comanda setfis poate fi utilizată pentru a modifica orice proprietate a unui FIS. De exemplu,

Următoarele trei funcții sunt utilizate pentru a afișa vizualizarea la nivel înalt a unui sistem de inferență fuzzy din linia de comandă:

Pentru a evalua ieșirea unui sistem fuzzy pentru o intrare dată, folosim următoarea funcție:

De exemplu, evalfis([1 1], myfis)este utilizată pentru evaluarea intrării unice și evalfis([1 1; 2 3] myfis)este utilizată pentru evaluarea intrării multiple.

Rețineți că putem edita direct un fișier .fis salvat anterior, pe lângă manipularea unui sistem de inferență fuzzy din interfața de instrumente GUI sau din spațiul de lucru MATLAB prin linia de comandă.

D.4.3 Implementarea practică de sine stătătoare în C

Caseta de instrumente MATLAB fuzzy logic vă permite să rulați propriile programe C de sine stătătoare direct fără a fi nevoie de Simulink. Acest lucru este posibil printr-un motor de inferență fuzzy de sine stătător, care citește sistemele fuzzy salvate dintr-o sesiune MATLAB. Deoarece este furnizat codul sursă C, puteți personaliza motorul de sine stătător pentru a crea o inferență fuzzy în propriul vostru cod. Această procedură este prezentată în figura D.5.

FIGURA D.5 Implementarea țintă a unui sistem fuzzy