Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AstronomieBiofizicaBiologieBotanicaCartiChimieCopii
Educatie civicaFabule ghicitoriFizicaGramaticaJocLiteratura romanaLogica
MatematicaPoeziiPsihologie psihiatrieSociologie


REZOLVAREA UNEI PROBLEME PRIN LOGICA "FUZZY" IN MATLAB

Matematica



+ Font mai mare | - Font mai mic



Rezolvarea unei probleme prin logica "fuzzy"

in MATLAB

Enuntul problemei: Ce doza de medicamente(prescrise de medic) trebuie sa ia un pacient in functie de varsta si greutatea acestuia?

Avem astfel 2 variabile de intrare: varsta si greutatea, si o iesire: doza de medicamente.



In primul pas, am deschis programului Matlab si dupa ce am introduc comanda: "fuzzy" tastand mai apoi tasta Enter in Commmand Window, a aparut Editorul "Fis" (Fis Editor)(dupa cum reiese si din imaginea urmatoare).

Avand o problema cu 2 variabile de intrare am introdus inca un "input" in Editorul FIS, din meniul Edit selectand Add Variable, respectiv Input.

Am redenumit "input1", "input2" si "output1" cu numele variabilelor din problema: varsta, greutate si respectiv doza. Am deschis caseta grafica a variabilei "varsta" (dublu click pe ea), apoi am sters toate functiile prezente din editorul Membership Function, meniul Edit, selectand Remove All MFs, si am adaugat 5 functii necesare pentru problema de fata din meniul Edit - Add MFs, si in lista Number of MFs am selectat 5, dupa cum se observa in imaginea urmatoare:

In pasul urmator am schimbat universul de discurs, scimband valoare din partea stanga-jos, in casuta "Range" la [0 100]. Am schimbat profilul geometric a primei si ultimei variabile in lista derulanta "Type" la forma trapezoidala (tramf), apoi am redenumit functiile in casuta "Name" cu numele: VS(abreviere de la very small<foarte mic>) reprezentand valoarea cea mai mica, S(valoare mica), M(mediu), B(mare), VB(foarte mare), si introducand valorile lor. Apoi am dat valori functiilor, selectand mai intai functia apoi introducand valorile fiecaruia in casuta Params. La fel si pentru variabila greutate si doza.

Variabila varsta:

Variabila greutate:

Variabila doza:

Am trecut mai apoi la introducerea regulilor, selectand Edit, apoi Rules din fereastra Membership Functions Editor, adaugand reguli folosind tasta Add Rule,in ferestrea Rule Editor, conform tabelului urmator:

Variabila Iesire (doza)

Variabila intrare1 (varsta)

VS

S

M

B

VB

Variabila intrare2 (greutatea)

VS

VS

VS

S

M

M

S

VS

S

M

M

M

M

VS

S

M

M

B

B

VS

S

M

B

B

VB

S

S

M

B

VB

Un ultim pas a fost salvarea problemei din fereastra FIS Editor: File - Export - To Workplace si dand un nume oarecare problemei.

Imaginea ferestrei Rule Editor, dupa adaugarea tuturor regulilor:

Imagine a ferestrei Rule Viewer:

Astfel, in figura de mai sus avem varsta medie de 50 ani, greutatea 100Kg, iar pentru aceasta, persoana respectiva trebuie sa ia o doza de 0.5 grame de medicament.

Daca modificam valoarea de input, spre exemplu avem o persoana cu varsta de 23 ani, greutatea 70Kg, rezulta din imagine ca acea persoana trebuie sa ia o doza de 0.25grame:

Imaginea ferestrei Surface Viewer:



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2259
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved