Sisteme de Conducere Inteligenta a Proceselor Bazate pe Controlere Fuzzy Logic

CAPITOLUL I

Logica fuzzy

Introducere

Logica fuzzy a fost definită în 1965 de către profesorul Lotfi Zadeh, de la Universitatea Berkeley.Spre deosebire de logica clasică, care lucrează cu două valori numerice exacte, logica fuzzy folosește o plajă continuă de valori logice cuprinse în intervalul 0-1, unde 0 indică falsitatea completă, iar 1 indică adevărul complet.

Astfel, dacă în logica clasică un obiect poate aparține (1) sau nu (0) unei mulțimi date, în logica fuzzy putem defini gradul de apartenență al obiectului la mulțime și care poate lua valori între 0 și 1.

Logica fuzzy oferă instrumentele necesare pentru reprezentarea în sistemele inteligente a unor concepte imprecise cum sunt „mare”, „mic”, „scump”, „ieftin” așa, concepte numite variabile lingvistice sau variabile fuzzy. Pentru reprezentarea acestora se folosesc seturile fuzzy, care captează din punct de vedere cantitativ interpretarea calitativă a termenilor.

Logica clasică versus logica fuzzy

Legea terțului exclus a lui Aristotel făcea imposibilă o altă variantă:

În viața de zi cu zi ne confruntăm totuși cu foarte multe situații în care o astfel de abordare este nerealistă.

Viața de zi cu zi: "cerul este albastru“; Uneori cerul este într-adevăr albastru, când afară este senin. Dar dacă sunt nori? Dar noaptea? Este clar că o manieră strictă de evaluare a valorii de adevar a propozițiilor nu coincide cu modul mult mai flexibil în care gândesc oamenii.

Oamenii gandesc mai flexibil, în condiții de incompletitudine.

Logica clasică consideră valoarea de adevăr a propozițiilor în termeni de adevărat sau fals.

TEORIA PROBABILITĂȚILOR

Jan Lukasiewicz (1939): descrie logica trivalentă și mecanismul matematic de aplicare al ei, bazat pe tripleta {0, 1, 2}. Un număr din acest interval era interpretat drept posibilitatea ca propoziția considerată să fie adevarată sau falsă.

TEORIA POSIBILITĂȚILOR

De exemplu posibilitatea ca un om de 1.80 cm să fie foarte înalt este de 0.86

Lotfi Zadeh (1965): pune bazele unui sistem formal de logică matematică prin includerea termenilor din limbajul natural.

De exemplu., dacă avem în vedere mulțimea oamenilor tineri. Un copil de 10 ani e cu siguranță tânar, în timp ce o persoana de 60 de ani cu siguranță nu. Dar un om de 30 de ani? Sau de 40? În acest caz, putem afirma că persoana de 30 de ani aparține mulțimii oamenilor tineri într-o măsură mai mare decât cea de 40 ani

.

LOGICA FUZZY

Teoria mulțimilor fuzzy (Lotfi Zadeh, 1965).

Aceast instrument de reprezentare și manipulare a termenilor nuanțați se numește logica fuzzy. Logica fuzzy permite o interpretare mai flexibilă a noțiunii de apartenență. Astfel, mai multe obiecte pot aparține unei mulțimi în grade diferite.

Permite lucrul cu termenii nuanțați ai limbajului natural și cuantifică gradul de adevăr al unei afirmații printr-o valoare de adevar între 0 și 1.

De exemplu:

M- muțimea oamenilor bogați

Mihai este miliardar – aparține lui M 90%

Iulian este milionar – apaține lui M 70%

Teoria mulțimilor fuzzy a avut inițial urmatoarele scopuri:

modelarea incertitudinilor

generalizare

simplificare

procesarea cunoașterii.

Figura 1.1

Tabel 1.1

Figura 1.2

Elemente de teoria mulțimilor fuzzy : mulțimi fuzzy, funcții de apartenență, operații cu mulțimi.

Mulțimi fuzzy

Elemente de teoria muțtimilor fuzzy:

Mulțimile clasice mai sunt numite tari – crips.

Mulțimile fuzzy permit reprezentarea conceptelor limbajului natural care au o definiție imprecisă, prin intermediul funcției de apartenență. Multimea fuzzy, spre deosebire de multimile clasice, nu are granite bine delimitate, elementele sale aparținând mulțimii doar într-o anumită masură.

propoziție fuzzy conține cuvinte, care sunt folosite ca identificatori pentru mulțimea fuzzy.

Valoarea de adevăr fuzzy poate fi exprimată la rândul ei tot printr-o mulțime fuzzy, care se numește calificativ fuzzy.

Pentru a reprezenta o mulțime fuzzy, trebuie să-i definim mai întai funcția de apartenență. Astfel, mulțimea fuzzy A este complet definită prin:

apartenența elementului x la mulțimea valorilor posibile A

A = {(x , ) /xX} sau (1.1)

A = { / x1,…., / xn} reprezentarea simbolică a unei mulțimi fuzzy

Funcții de apartenență

Funcțiile de aparteneță reprezină măsura în care un obiect posedă o anumită proprietate.

µA (x) apartenenta elementului x la multimea valorilor posibile A.

µA (x) : X → [0 1] (1.2)

Caracteristicile funcțiilor de apartenență :

Fie A o submulțime fuzzy a universului de discurs X. Se numește suportul lui A submultimea lui X ale cărei elemente au grade de apartenență nenule în A

sup(A) = {x X / µA(x) 0} (1.3)

Dacă suportul este un interval (în cazul mulțimilor fuzzy convexe) se definește și noțiunea de lățime a mulțimii A:

lat(A) = sup(S(A)) – inf(S(A)) (1.4)

Înalțimea lui A se definește drept cea mai mare valoare a funcției de apartenență.O submulțime fuzzy A a lui X este normală dacă. h(A) = l altfel A este subnormală.

h(A) = sup(µA (x)) (1.5)

Se numește nucleul lui A, submulțimea lui X ale cărei elemente au grade de apartenență unitare în A.

n(A) { x X / µA(x) = 1} (1.6)

Vecinătatea, notată V, este definită în cazul unei mulțimi fuzzy ca o mulțime compactă de elemente x pe universul X pentru care gradul de apartenență este nenul și subunitar.

V(A) = { x X / 0 µA(x) 1} (1.7)

Tăietura de nivel a mulțimii fuzzy A reprezintă mulțimea elementelor x din universul de discurs X ale căror grade de apartenență sunt cel puțin egale cu valoarea ce definește tăietura.

A= { x X / µA(x) ≤ } (1.8)

Punctele de încrucișare se definesc în raport cu două mulțimi fuzzy care partajează un domeniu comun din universul discursului. Astfel punctul de încrucișare a doua muțtimi fuzzy A și B reprezintă acel punct din universul X pentru care

µA(x*) = µB(x*) (1.9)

Figura 1.3

Operații cu multimi

Tipuri de functii de apartenenta:

Mulțimea fuzzy vidă notată cu este definită printr-o funcție de apartenență 

µ0(x) = 0 , x X (1.10)

Fie A și B submulțimi fuzzy ale lui X. A și B sunt egale dacă:

A = B ↔ µA(x) = µB(x) , x X (1.11)

Fie A și B submulțimi fuzzy ale lui X. A și B sunt incluse dacă:

µA(x) ≤ µB(x) , x X (1.12)

Negarea µA(x) = 1 – µA(x)

Reuniunea A B = {x/ µAB(x), µAB(x) = max µA(x), µB(x))}

Intersecția A B = {x/ µA B(x), µA B(x) = min µA(x), µB(x))

Diferența A – B = {x/ µA -B(x), µA -B(x) = min µA(x),1 – µB(x))}

Produsul A * B = {x/ µA *B(x),unde µA *B(x) = µA(x)* µB(x)}

Figura 1.4

Tratarea informației fuzzy: fuzzyficare, inferența, defuzzyficare

Calculul fuzzy se caracterizează prin faptul că permite manipularea conceptelor vagi care nu pot fi modelate matematic exact (numere, mulțimi sau funcții clasice).

Un program fuzzy logic conține două componente principale: variabile fuzzy și reguli fuzzy.

Variabilele fuzzy reprezintă un domeniu de valori numerice, care poate fi divizat în câteva subdomenii prin definirea unor calificative (cunatificatori) ai variabilei fuzzy.

Aceste calificative constau din identificatori literali (nume), cunoscuți sub denumirea de calificative lingvistice, și o funcție de apartenență, care arată gradul de apartenență al fiecărei valori posibile a variabilei fuzzy la setul fuzzy.

Regula fuzzy este o regulă care apelează, în partea sa if, unul sau mai multe calificative ale variabilei fuzzy și un singur calificativ al variabilei fuzzy în partea sa de concluzii (then). Regulile sunt aplicate variabilelor fuzzy printr- un procedeu denumit propagare. Regulile fuzzy pot forma o matrice fuzzy, cunoscută și ca memorie asociativă fuzzy.

Tratarea informației fuzzy se face în mai multe etape: fuzzyficare, inferența (evaluarea regulilor și agregarea ieșirilor) și defuzzyficare.

Fuzzyficarea

Fuzzyficarea este o operație prin care se aleg mărimile de intrare și de ieșire după care se definesc mulțimile fuzzy care permit descrierea acestora prin variabile lingvistice (exemplu: mare, mai mic, etc.).

Scopul fuzzyficării este să permită construirea unei baze de reguli înglobând cunoștințele noastre referitoare atât la procesul condus cât și la metodele de conducere pe care vrem să le aplicăm,

datele de intrare sunt supuse unei prelucrări preliminare în scopul eficientizării procesului.

Tabel 1.2

Figura 1.5 Figura 1.6 Figura 1.7

Pasul 1: Fuzzyficarea:

Fuzzyficarea pentru intrările stricte x1 si y1 (project funding și project staffing) determină gradele de apartenență în mulțimile corespunzătoare.

O problemă cu 2 intrări și 1 ieșire, 3 reguli

Figura 1.8

Pasul 2: Evaluarea regulilor:

Intrările fuzzy fixcate se aplică antecedenților regulilor

Dacă o regulă are antecedenți (premise) multipli, se aplică operatorii fuzzy de intersecție sau reuniune

Există doua tipuri de inferență (evaluare): Mamdami și Sugeno

Inferențele de tip Mamdami sau Larsen presupun la defuzzyficare integrarea funcțiilor de apartenență, ceea ce nu este foarte eficient din punct de vedere computțional

Inferența Sugeno este de forma: DACĂ x este A și y este B ATUNCI z este f(x,y) unde f este o funcție matematică

a1(r) • + …. + an(r) • + a(r),r = 1,…,k

Cel mai utilizat model de inferență Sugeno este cel de ordin zero, în care ieșirea fiecărei reguli fuzzy este o constantă.

DACĂ x este A și y este B ATUNCI z este k

Figura 1.9 Evaluare de tip Mamdamie

Figura 1.10 Evaluare de tip Sugeeno

Pasul 3: Agregarea ieșirilor:

Agregarea presupune reuniunea ieșirilor tuturor regulilor, rezultând câte o mulțime fuzzy pentru fiecare variabilă de ieșire.

Figura 1.11 Inferența Mamdami

Figura 1.12 Inferența Sugeno

Pasul 4: Defuzzyficarea:

Mulțimile fuzzy agregate sunt transformate în valori stricte după o metodă de defuzzyficare (exemplu: metoda centrului de greutate).

Figura 1.13 Inferența Mamdami

Figura 1.14 Inferența Sugeno

Concluzii

Teoria mulțimilor fuzzy este cea mai generală teorie a incompletitudinii formulată panâ în prezent.

Logica fuzzy oferă posibilitatea de a reprezenta și raționa cu cunoștinte comune, formulate în mod obișnut și de aceea și-a găsit aplicabilitatea în numeroase domenii. Dificultățile apar la determinarea funcțiilor de aparteneță și la reglarea parametrilor.

Transpunerea în practică a sistemelor fuzzy se datorează vantajelor c le prezintă în urmatoarele situații specifice:

permit modelarea sistemelor neliniare, complexe sau imprecis cunoscute,

permit transpunerea experienței umane în constituirea regulilor de inferență utilizand variabile lingvistice,

au un comportament foarte bun în prezența incertitudinii, impreciziei și a zgomotului.

Cât de bine lucrează sistemele ce integrează logica fuzzy o demonstrează larga răspandire acestora în ultimii ani în lumea întreagă: controlul automat (reglarea de temperatură, comanda vitezei motorului, autofocalizarea camerelor video), recunoașterea formelor (algoritmi de clasificare fuzzy),măsurări (prelucrarea informaților furnizate de senzori), medicină (controlul simulatoarelor cardiace), economie (metode de decizie fuzzy),psihologie cognitivă(modelarea fuzzy a sistemului de vedere).

CAPITOLUL II

Sisteme de conducere inteligentă a proceselor bazate pe controlere fuzzy logic.

2.1 Sisteme de control inteligent al proceselor

Un sistem de control inteligent este un sistem cu un grad înalt de adaptabilitate la schimbările neprevăzute, astfel încât instruirea în timpul funcționării poate avea un rol principal. Sistemul trebuie sa aibă un grad înalt de autonomie în corelație cu necesitatea operării în condiții de incertitudine.

Principiile controlului inteligent sunt:

evaluarea inițială a sistemului printr-un set de cunoștințe apriorice procesului vizat,

acțiunea țintește spre un set de parametrii care reprezintă parametrii de performanță impuși sistemului.

Cuvintele cheie ale controlului inteligent:

– RF – Regulator fuzzy, FC – fuzzy controler, FLC – fuzzy logic controler.

Regulatorul fuzzy este utilizat doar pentru controlerele ce funcționează în buclă închisă

Fuzzy logic controler este utilizat cu predilecție în sistemele de asistare a deciziilor. Acesta utilizează procesul de inferență la calculele relaționale fuzzy bazate pe operații mai complexe, de tipul implicațiilor logice fuzzy

Fuzzy controlerul este utilizat în conducerea proceselor. Algoritmii de conducere sunt înglobați în protocoale de comenzi, pe baza cărora, în funcție de mărimile de intrare, se vor genera comenzi în urma procesului de inferență logică.

2.2 Clasificarea controlerelor fuzzy

Tabel 2.1

.

2.3 Structura generală a unui FLC: etapele de parcurs pentru definirea unui Fuzzy Logic Controler:

Figura 2.1

1) Editorul sistemului cu logică fuzzy- FIS Editor;

2) Editorul funcțiilor de apartenență- Membership Function Editor;

3) Editorul regulilor fuzzy- Rule Editor;

4) Fereastra de vizualizare a regulilor- Rule Viewer;

5) Fereastra de vizualizare a suprafeței ieșire-intrare a sistemului – Surface Viewer.

Figura 2.2

Etapele construcției unui Fuzzy Controler sunt:

Figure 2.3

Studiul sistemului analizat:

Referința {ei} comanda {ui} ieșirea {si}

Variabile interne {xi}

FC:Controler Fuzzy

Figura 2.4

Alegerea intrărilor și ieșirilor importante pentru descrierea funcționării sistemului analizat , alegerea frecvenței de eșantionaj (filtarare+Criteriul lui Shannon)

De calculat:

eroarea = referința – ieșirea

domeniul de variație a variabilelor interne

(2.1)

Fuzzyficarea intrării și ieșirii:

Pentru fiecare intrare și ieșire alegem :

Universul de discurs U ≡ Plaja fizică de variație

Viteza automobilului poate varia între 0 și 180 Km.h-1

Clasele care compun universul de discurs

Viteza automobilului (pe autostradă) este cuprină între:

0 – 70 Km.h-1 evaluare: prea scazută

50 – 90 Km.h-1 recomandată

80 – 130 Km.h-1 medie

100 – 140 Km.h-1 peste medie

140 -180 Km.h –1 excesivă

Funcțiile de apartenență asociate fiecărei clase definesc gradul de apartenență a vitezei date la fiecare dintre clasele definite

Funțtiile de apartenență trebuie să se intersecteze dar nu prea mult.

Temperatura necunoscută de FCL

Figura 2.5

Temperatura rece la 100% și temperatura la aceiași valoare

Informație contradictorie

3 clase se intersectează = Imprecizie

Figura 2.6

Funcțiile de apartenență sunt de obicei funcții triunghiulare și trapezoidale iar formele mai complicate nu aduc nimic în plus în termeni de performanță.

Figura 2.7

Formalizarea cunoștiințelor

FC utilizează o formulare a regulilor prin următoarea sintaxă :

IF (condiții asupra intrărilor) THEN (condiții asupra ieșirilor)

« IF presiunea este ridicată THEN valva se deschise »

Aceste reguli sunt enuntate în relație cu cunostințe referitoare la procesul analizat ale unui expert.

Numar maxim de regui ce pot fi definite pe universul U cu n clase fuzzy (m) este:

(2.2)

Putem să nu considerăm anumite configurații de submulțimi fuzzy dacă acestea sunt imposibil de obținut în cazul particular analizat.

Pentru comanda automată a sistemului de frânare nu poate fi considerată ca și regula

«Dacă viteza este importantă și distanța până la obstacol este nulă »

Creșterea sensibilității sistemului obținută prin partiționarea mai fină a universului de discurs a intrărilor generează o creștere semnificativă a numărului de reguli definite de către expert.

Dacă regulile sunt de tipul:

« IF ( ) and ( ) and ( ) …THEN ( ) »

Baza de reguli se scrie sub forma unei matrice de inferență..

Tabel 2.3

« IF (e1 este EZ) and (e2 este GP) THEN (ieșirea este GN) »

Alegerea metodei de inferență

Operația logică cu ajutorul căreia admitem o propoziție în virtutea unor alte propoziții considerate a priori adevărate se numește inferență

« If presiunea este ridicată THEN deschidem puțin valva ». Pp.P = 2,1 bari

În urma fuzzyficării, această valoare a presiunii, va avea un grad de apartenență 0,7 la clasa fuzzy « Presiune ridicată ».

. Inferența va da, de exemplu, un coeficient de adevăr 0,6 acțiuni de « deschidem puțin valva ».

În etapa de defuzzyficare, deschidere fizică corespunzatoare coeficientului 0,6 va fi de 40%

Inferența fuzzy transformă un grad de apartenență într-un alt grad de apartenență .

Există două tipuri de inferență:

min- max

sum- prod.

Inferența min-max, datorită operatorilor implicați, relația fuzzy se desfășoară în modul următor:

mărimile de intrare fuzzyficate se compară pe rând prin operatorul „min” cu premisele fiecărei reguli;

numai regulile pentru care comparația produce grade de apartenență diferite de 0 vor fi active;

rezultatul final se obține reunind prin operatorul „max” concluziile fiecărei reguli active, ținând cont de gradul ei de activare.

MIN/MAX Metoda cea mai utilizată

Figura 2.8

Figura 2.9

Din punct de vedere calitativ, tipurile de metode de inferență dau aproximativ aceleași rezultate

Defuzzyficarea

Prin procesul de defuzzyficare este asociată unei mărimi fuzzy o valoare numerică concretă.

Pentru a realiza defuzzyficarea sunt definite diverse metode care permit obținerea unei valori numerice printr-o expresie ce combină mai multe funcții de apartenență.

Metoda COG este cea mai utilizată

Figura 2.10

Cele mai cunosute sunt :

metoda centrului de greutate al suprafeței delimitată de maximele locale: localizează valoarea marimii supuse defuzzyficarii în centrul de greutate al figurii rezultate prin suprapunerea graficelor funcțiilor de apartenență;

metoda centrului de greutate al suprafeței: localizează valoarea marimii supuse defuzzyficarii în centrul de greutate al figurii rezultată prin însumarea ariilor graficelor funcțiilor de apartenență individuale;

metoda ponderării centrelor de greutate ale suprafețelor individuale: stabilește valoarea finala prin medierea, ponderată cu aria suprafeței, a centrelor de greutate ale suprafețelor graficelor funcțiilor de apartenență individuale;

metoda primului maxim absolut: selectează primul punct din domeniul numeric de definiție pentru care funcția de apartenență are valoare maximă;

metoda medierii maximelor locale: determină coordonatele punctelor din domeniul numeric de definiție pentru care funcția de apartenență înregistrează maxime locale și face o mediere a acestor coordonate

metoda centrului de greutate al ariei convexe maxime: localizează valoarea rezultată în centrul de greutate al ariei convexe maxime

2.4 Structuri ierarhice si hibride

Echivalența între regulatoarele clasice și cele de tip fuzzy Mamdami:

Regulator PID discret:

(2.3)

FC de tip Mamdami:

« IF eroarea este Ei AND variatia ei este DEj THEN variatia comenzii este DU1»

Un stadiu superior de organizare a controlului fuzzy se obține prin introducerea unor nivele de ierarhizare a regulilor. Daca regula activată de primul control fuzzy este insuficientă pentru controlul adecvat al sistemului, se utilizează un al doilea control fuzzy caracterizat de o granulație mai fină a partițiilor fuzzy, care este invocat numai în momentul selectării regulii respective.

Se crește specificitatea regulilor ce pot fi repetate pe mai multe nivele ierarhice.

Creșterea exponențială a numărului regulilor

Figura 2.11

Comportarea unui fuzzy controller este de obicei mai putțin precisă și riguroasă.

Figura 2.12

RF este comparabil ca și funcționare cu regulatorul de tip P în ceea ce privește eroarea staționara. Ea este redusă prin creșterea granulației sau prin modificarea factorilor de scalare prin care sunt ponderate mărimile de intrare și ieșire dar nu poate fi anulată decât prin introducerea componenței integratoare.

Figura 2.13

Fuzzy controlerul are rol de supervizare. El urmărește indicatorii de calitate ai reglării și poate lua decizii de adaptare a algoritmilor numerici sau de alegere a structurii optime de reglare.

Se pot anticipa dezvoltări ale sistemelor de reglare adaptivă, în care FC asigură rolul adaptării.

Dezvoltari fuzzy:

O perfecționare importantă a fuzzy controlerului este autoadaptarea.

Parametrii care pot deveni subiecți ai autoadaptării sunt:

Factorii de scalare ai intrărilor și ieșirilor

Baza de reguli de conducere

Parametri ai metodei de inferență

Funcțiile de apartenență ale variabilelor

Traductorul cuplului rezistent provoaca modificarea regimuui de functionare a injectorului

Turație

Valoarea impusă +

Figura 2.14 Exemplu de sistem cu autoadaptare

Comanda injecției unui motor

Pentru autoorganizarea structurii, FC trebuie să dispună de următoarele elemente:

Un tablou de evaluare a performanțelor reglării

Un model al procesului condus

Un algoritm de modificare a parametrilor FC

Acțiunile de autoorganizare pot fi :

Modificarea inferețtei

Modificarea granulației

Comutarea între mai multe controlere.

intrare ieșire

Figura 2.15 Structură de controller fuzzy cu autoorganizare.

2.5 Concluzii

Reglarea fuzzy are în vedere analiza problemelor de comandă a proceselor, plecând doar de la cunoștințelele experților referitoare la procesul analizat. Se pot include în baza de reguli de conducere reguli cu obiective diferite, cum ar fi optimizarea unor indicatori referitori la precizia reglări, la comportarea dinamică, la economicitatea, la siguranța sistemului

La stabilirea legii de reglare pot participa operatori umani sau experți care au experiență în cazul procesului care se dorește a fi condus, fără însă a fi necesar ca ei să dețină cunoștințe referitoare la automatizări sau la sistemele fuzzy.

Aprecierea performanțelor și validarea unui sistem cu regulator fuzzy pot fi obținute de obicei numai după realizarea efectivă a sistemului și încercări, sau în cel mai bun caz, prin simulare pe calculator.

CAPITOLUL III

Aplicatie Matlab orientata obiect destinata parametrizarii controlerelor fuzzy logic

Context: mediul de dezvoltare Matlab/ GUIDE / Simulink

Mediul de dezvoltare MATLAB: (1) (2)

Mediul de dezvoltare MATLAB este un pachet de programme de înaltă performanță dedicat calculului numeric , reprezentărilor grafice și evaluărilor tehnice.

MATLAB integrează calcule matriceale, analiză numerică , vizualizare grafică și un limbaj de programare întru-un mediu foarte usor de utilizat , în care exprimarea problemelor și soluțiilor se face printru-un model matematic.

Mediul de dezvoltare MATLAB este un sistem interactiv care inițial a fost conceput astfel încât elementul de bază cu care el operează să fie matricea.

Facilitățile MATLABului:

Calcule numerice și matematică

Dezvoltarea algoritmilor și programe

Modelare și simulare

Analiză de date , vizualizare și exploatarea rezultatelor

Grafică științifică și inginerească

Dezvoltare de aplicații software,incluzâd contrucții de interfețe grafice cu utilizatorul GUI.

Pachetul de programare al madiului de dezvoltare MATLAB conține o întreagă familie de module specifice , denumite tool-box-uri (m-files )și respectiv blockset-uri , care permit rezolvarea unor aplicții din diverse domenii: aparate și acționări electrice , statistică, finanțe și multe altele.

Structura sistemului MATLAB constă :

Mediul de dezvoltare este alcătuit dintr-un set de unelte care nepermit folosirea funcțiilor și fișierelor MATLAB.Multe dintre acestea reprezintă interfețe grafice incluzând fereastra principal MATLAB (MATLAB Desktop) ,fereastra de comenzii (Command Window), fereastra ce memorează instoria comenzilor(Command History) si browser-ele Help,Files, etc.

Biblioteca de fincții matematice MATLAB constă într-o colecție de algoritmi de calcul,pornind de la funcții elementare cum ar fi sumă,sinus,cosines și aritmetică complexă , până la funcții mai sofisticate precum inversare de matrici,calcul de valorii proprii,funcții Bessel și transformata Fourier.

Limbajul MATLAB este un limbaj matrice / vector de un nivel înalt ce include instrucțiuni de control ale buclelor , funcțiilor , structurilor de date,comenzilor de intrare / ieșite și instrucțunilor de programare orientată pe obiect. Limbajul MATLAB permite atât “ programarea superficial” pentru crearea rapidă a unor mici programe de calcul ,cât și “ programarea în detaliu” în vederea dezboltării programelor complexe de nivel superior.

Handle Graphics reprezintă sistemul de grafică MATLAB incluzând atât comenzi de nivel înalt pentru vizualizarea 2D și 3D a datelor, procesare de animație , imagini și grafică ,cât și comenzi de nivel jos ce permite personalizarea completă a reprezentărilor grafice și construirea interfețelor grafice GUI pentru aplicațiile MATLAB.

MATLAB Application Program Interface (API) este o bibliotecă ce permite scrierea programelor C și Fortran ce interacționează cu mediul de dezvoltare MATLAB .

GUIDE: (3)

GUIDE este mediul de dezvoltare penntru interfața utilizator grafică MATLAB , ea furnizază un set de instrumente pentru crearea interfețelor grafice GUI. Aceste grafice simplifică procesul de proiectare și dezvoltare a interfețelor. Instrumentele GUIDE se pot utiliza pentru imaginea interfeței GUI.

GUIDE-ul salvează interfața GUI într-un fișier numit FIG. GUIDE-ul generează automat un fișier de tipul M care poate controla modul de funcționare al interfeței grafice. Fișierul M inițiază interfața utilizator grafică și conține un șablon cu cele mai frecvente callback-uri utilizate ale fiecărei componente executate atunci când un utilizator acționează o componentă GUI. Utilizând editorul M-file putem adauga callback-uri pentru executarea fincțiilor dorite.

Pornirea interfeței grafice se poate face tastând „guide” la prompter-ul de comandă al MATLAB-ului.

SIMULINLK : (4)

SIMULINK-ul este un mediu foarte util pentru modelarea simularea și analiza uniu număr mare de sisteme fizice și matemetice.

SIMULINK oferă o interfața garafica cu utilizatorul pentru a reazila modelele sistemelor dinamice reprezentate în schema boc. O bibliotecă vastă , cuprinde cele mai diferite blocuri stând la dispoziția utilizatorului , iar acestea permit modelarea rapidă și clară a sistemelor ,fără a fi necesară scrierea unui rand de cod de simulare.

SIMUKINK este o colecție de funcții MATLAB , care sunt organizate într-un așa numit toolbox al sistemului de programare menționat. SIMULINK mai aduce în plus funcționalități specifice analizei și sintezei sistemelor dinamice , în acelaș timp păstrând toate caracteristicile sistemului MATLAB.

Pentru utilizarea toolboxului există doua faze logice. În prima fază se definește sau se apelează un model de sistem expert , iar în a doaua fază se face analiza acestui model. Strategia de lucru este iterativă ,iar utilizatorul revenind la pașii parcurși anterior modificând modelul , pe măsură ce avansează în proiectare , în scopul obținerii indicilor doriți.

Toolboxul SIMULINK folosește o clasă de ferestre numite „diagrame”. În aceste ferestre sunt create modelele sistemului prin folosirea mouse-ului. SIMULINK mai poate face liniarizarea modelelor și determinarea punctelor de echilibru.

Descrierea etapelor de dezvoltare a aplicației

Similar Posts