Documente Academic
Documente Profesional
Documente Cultură
Retele Neuronale Si Logica Fuzzy in Automatizari
Retele Neuronale Si Logica Fuzzy in Automatizari
Prefa
.1 Modele fuzzy
Principial, n literatura de specialitate se consider pentru un sistem cu procesarea fuzzy a
informaiei urmtoarea structur:
Figura 1.1
Un sistem fuzzy logic fuzzy caracterizat prin: fuzzificarea intrrilor reale X U R n n mulimi
fuzzy singleton; printr-un algoritm de inferen de tip produs; i defuzzificare prin metoda sumei
ponderate a centrelor mulimilor fuzzy ale consecinelor conduce n final la urmtoarea form
sistemic pentru sistemul cu procesare fuzzy a informaiei:
n
fX
l 1
M
y l F l xi
i
i 1
n
(1.1)
x
Fil
l 1 i 1
(1.2)
reprezint setul de semnale de intrare reale. Dac se consider regulile IF-THEN de forma:
IF x1 is F1l and . . . and Fnl THEN y is G l cu l 1, M ,
(1.3)
unde M=numrul de reguli, F ( xi ) va reprezenta funcia de apartenen asociat mulimii fuzzy
Fi l ce descrie o variabil lingvistic, y l va fi centrul mulimii fuzzy G l , adic punctul n care
funcia de apartenen atinge valoarea maxim 1. n baza ipotezelor fcute se poate demonstra pe
baza formalismului matematic formula (1.1):
fuzzificarea singleton conduce la urmtoarea mulime fuzzy:
i
1, X X
0, X X
A X X
(1.4)
rezultatul activrii regulii l l constituie mulimea fuzzy B l calculat conform urmtoarei reguli de
compunere:
Bl y l sup X U F l ... F l G l X , y * A X
n
1
(1.5)
care constituie de fapt exprimarea analitic a regulii de deducie modus ponens. Apoi definim
implicaia ca produs:
l
l
F ... F G X , y F ... F X G y
(1.6)
l
1
l
n
l
1
l
n
l
1
... Fnl
X F xi
Fil
i 1
(1.7)
B y sup X U
l
i 1
Gl
y X
l
(1.8)
Ca rezultat al activrii celor M reguli se obin M mulimi fuzzy caracterizate prin funciile de
l
apartenen: B y . Mulimea fuzzy B care exprim concluzia final va fi reuniunea celor M
mulimi fuzzy:
l
(1.9)
B B l
l 1
B y B1 y . . BM y
Bl y F l xi
l
1 i
G y
l
(1.11)
i 1
(1.10)
y
l
y
y
l
Bl
l 1
M
l 1
(1.12)
Bl
l 1
M
min F l x1 ,..., F l xn
1
min x ,..., x
l 1
F1l
Fnl
(1.13)
Pentru dezvoltarea algoritmilor de antrenare trebuie specificat forma funciei de apartenen, care
poate fi aleas triunghiular, trapezoidal, etc. n cazul studiat n cele ce urmeaz se va alege o
funcie de apartenen Gaussian de forma:
xi x li
F l xi exp
i
i
(1.14)
xi x li
y exp
i 1
l 1
f X
x x l 2
M
n
i
exp i
l 1 i 1
i
M
(1.15)
Pentru forma sistemului fuzzy (1.15) informaia lingvistic poate fi ncorporat iniial n setul de
l
l
reguli IF-THEN, iar n algoritmul de ajustare (antrenare) a parametrilor sistemului y , x i , i se
ncorporeaz informaia numeric.
Urmtoarea teorem justific folosirea formei (1.15) pentru modelarea oricror procese neliniare
cu orice grad de precizie impus:
Teorema universal de aproximare : Oricare ar fi funcia real continu g:U V , U R n
mulime compact i oricare ar fi 0 , real, exist sistemul fuzzy (1.13) astfel nct:
f X g X
(1.16)
Demonstraia se poate studia n [1]. Forma (1.15) a unui sistem fuzzy se poate interpreta astfel:
Se consider baza de funcii radiale:
xi x li
exp
i 1
pj X
x x l
M
n
i
exp i
l 1 i 1
i
n
j=1..M
(1.17)
f X j p j X
(1.18)
j 1
Se impune astfel un mecanism de ajusta, eventual de a aduga noi reguli n scopul realizrii unui
sistem de control ct mai eficient.
n literatura de specialitate sistemele de reglare adaptive se clasific n dou categorii:
directe i indirecte. Controlul adaptiv direct presupune reducerea erorii de urmrire prin ajustarea
direct a parametrilor regulatorului. n sistemele de control adaptiv indirect exist un estimator
recursiv al parametrilor procesului iar legea de comand se calculeaz pe baza parametrilor
estimai "on-line". Astfel sistemele fuzzy de control adaptiv directe folosesc ca i regulator un
sistem fuzzy, astfel c informaia lingvistic poate fi ncorporat direct n controller. Pe de alt
parte sistemele fuzzy de control adaptiv indirecte folosesc sistemele fuzzy ca s modeleze
procesul. Din punct de vedere al modelului fuzzy folosit se remarc c algoritmul de ajustare este
liniar dac se folosete primul tip de model fuzzy, respectiv devine neliniar n cazul folosirii celui
de-al doilea tip de model fuzzy.
.2.2 Sinteza sistemelor fuzzy de control adaptiv indirect pe baza teoriei stabilitii a
lui Lyapunov
Se consider sistemul neliniar de ordinul n n forma normal:
x 1 x2
x 2 x3
...........
x n f x1 ,..., xn g x1 ,..., xn u
(2.1)
y x1
x n f x,..., x n 1 g x,..., x n 1 u
y x
(2.2)
cu f, g funcii continue, u, y R reprezint intrarea, respectiv ieirea din sistem, iar X x1 ,..., x n
constituie vectorul de stare care poate fi msurat. Pentru ca sistemul (2.2) s fie un sistem controlabil se
impune ca g X 0 ntr-o regiune de controlabilitate U C R n . Fr a pierde din generalitate se presupune
c g X 0 pentru X U C .
Obiectivul sistemului de control pentru acest sistem l va constitui urmrirea unui semnal de referin
mrginit y m t de ctre ieirea procesului y astfel nct toate semnalele implicate s fie mrginite. Deci se
cere determinarea semnalului de control u u X , i a unei legi de adaptare a parametrilor astfel
nct sistemul nchis s fie global stabil n sensul c toate variabilele X t , t , u X , s fie uniform
mrginite:
X t M X , t M , u X , M u oricare ar fi t 0
unde M X , M , M u sunt parametrii stabilii de proiectant. Eroarea de urmrire e y m y se impune ca
s fie ct mai mic posibil cu ndeplinirea obiectivelor anterioare.
T
T
S considerm atunci vectorul e e, e , e,..., e n 1 i k k1 , k 2 ,..., k n R n astfel nct toate
T
1
T
f X y m n k e
g X
e n k1e n 1 ... k n e 0
(2.3)
(2.4)
1
T
f X / y m n k e
g X /
X /
g
conform
(2.5)
Prin aplicarea acestei legi de control n sistemul (2.2) i o serie de artificii de calcul se obine ecuaia care
descrie dinamica erorii de urmrire a traiectoriei impuse:
e n k T e f X / f f X g X / g g X u c
(2.6)
sau echivalentul cu variabile de faz:
(2.7)
e C e b C f X / f f X g X / g g X u c
unde:
...
...
0
0
...
...
...
...
...
...
...
...
kn 1
...
...
...
1
k1
kn
...
n
0
...
, respectiv bC
0
1
(2.8)
n 1
1 T
e P e , a crei derivat se calculeaz utiliznd
2
e Q e e Pb C f X / f f X g X / g g X u C
2
Conform teoriei Lyapunov pentru ca xi ym i 1 e i 1 s fie mrginit, ( adic e s fie mrginit ntruct y m
este mrginit prin proiectare ) se impune ca Ve ( energia sistemului erorii ) s fie mrginit, ceea ce
implic Ve 0 cnd Ve V impus prin proiectare. Din ecuaia (2.8) se observ c este destul de dificil
de a gsi comanda uC care fac termenul al doilea din membrul drept al relaiei (2.8) s devin foarte
apropiat de zero. Problema se rezolv prin introducerea n componena semnalului de comand a unei aa
numite comenzi supervizoare uS , astfel c semnalul de comand final va fi:
u uC uS
(2.10)
Scopul acesteia va fi de a fora Ve 0 cnd Ve V . Noul semnal de comand introducndu-l n sistemul
(2.2), i utiliznd aceleai artificii de calcul ca i n cazul obinerii relaiei (2.7) conduce la noua form
pentru ecuaia care descrie dinamica erorii:
e C e b C f X / f f X g X / g g X u c g X u S
Recalculm din nou prima variaie a funciei Lyapunov conform cu noua ecuaie (2.10):
1 T
T
Ve e Qe e Pb C f X / f f X g X / g g X u C g X u S
2
1 T
T
T
e Qe e Pb C f X / f f X g X / g u C g X u C e Pb C g X u S
2
(2.11)
(2.12)
Pentru a proiecta uS astfel nct membrul drept al relaiei (2.11) s fie negativ se presupune c se pot
determina funciile f U X , gU X , g L X astfel nct: f X f U X , respectiv gL X g X gU X
U
U
pentru X R n , cu f X , g X , g L X 0 .
Pe baza marginilor funciilor f, respectiv g alegem comanda supervizoare de forma:
g 1 X f X /
u S I1* sgn e Pb C
f U X g X / g uC g U X u C
1, Ve V
(2.13)
1, y 0
, sgn y 1, y 0 .
0, Ve V
Introducnd (2.13) n (2.12) i considernd cazul Ve V , rezult:
unde I1*
1 T
T
Ve e Q e e Pb C f f gu C gu C
2
g
1 t
f f U gu C g U u C e Q e 0
gL
2
(2.14)
*f min sup f X / f f X
f
X U C
unde
(2.15)
*g min sup g X / g g X
, cu
f f / f M f , 0
l
i
X U C
Mf ,
model fuzzy , se ignor ( prin acesta se impune ca il implicate n definirea funciilor de apartenen s
fie pozitive i s nu existe puncte necuprinse n nici o partiie fuzzy).
l
g g / g M g , y 0, il 0 (2.16), semnificaia constantelor fiind aceeai cu precizarea c
l
g X / g
w f X / *f f X g X / *g g X uC
(2.17)
e C e bC f X / f f X / *f g X / g g X / *g uC w
(2.18)
Dac alegem pentru modelele fuzzy prima form pentru care se realizeaz ajustarea numai a centrelor
l
consecinelor y a regulilor i tratnd modelul ca pe o serie de funcii radiale X relaia (2.18) se
rescrie:
e C e bC g X uS bC w bC tf X tg X uC
(2.19)
*
unde f , g f , g f , g . Considerm funcia Lyapunov:
1 t
1
1
e Pe
tf f
t
2
2 1
2 2 g g
(2.20)
unde 1 , respectiv 2 sunt constante pozitive. Derivata acesteia de-a lungul traiectoriei (2.19) este:
1
1
1
V et Qe g X et PbC uS et PbC w tf f 1 et PbC X tg g 2 et PbC X uC
2
1
2
(2.21)
(2.22)
g 2 et PbC X uC
(2.23)
Se observ c relaia este dependent de eroarea de aproximare minim w. Revenind la alegerea modelelor
fuzzy pentru f, respectiv g, dac alegem tipul al doilea de model fuzzy care permite i ajustarea centrelor
premizelor regulilor i a dispersiei a funciilor de apartenen gaussiene se parcurg aceleai etape cu
remarca c iniial se face aproximarea modelelor f , g printr-o descompunere n serie Taylor n jurul
*
*
valorilor parametrilor f , g care asigur eroarea de aproximare minim:
g X / g g X / *g
f X /
2
f
O f
f X / f f X / *f tf
(2.24)
g X /
2
g
tg
O g
Fcnd substituia n relaia (2.18) rezult ecuaia care modeleaz dinamica erorii de urmrire:
f X / f
g X / g
e C e bC g X uS bC v bC tf
tg
uC
f
g
(2.25)
unde:
v w O f
O g
(2.26)
Apare urmtoarea problem i anume meninerea parametrilor f , g n interiorul domeniului f , g .
Pentru aceasta se utilizeaz algoritmul vectorului de gradient proiectat, domeniile f , g fiind vzute ca
nite restricii. Astfel dac parametrii care se ajusteaz sunt n interiorul domeniului se utilizeaz legea de
ajustare (2.22). Dac s-a ajuns pe grania domeniului i tendina parametrilor este de a prsi domeniul,
ajustm parametrii pe direcia proieciei gradientului conform relaiei (2.22) pe limita domeniului n
punctul unde ne aflm:
Valorile iniiale ale parametrilor se stabilesc pe baza informaiilor lingvistice existente. Dac nu exist
informaii lingvistice se stabilesc arbitrar cu respectarea restriciilor impuse.
2.3 Etapele n proiectarea unui sistem fuzzy adaptiv indirect folosind primul tip de model
fuzzy
Calcule off-line
alege k1 , k2 ,..., kn astfel nct toate rdcinile polinomului s n k1s n1 ... kn 0 s fie n
semiplanul stng al planului complex.
se alege o matrice Q nxn pozitiv definit i se rezolv ecuaia Lyapunov tC P P C Q unde
...
...
0
0
...
...
...
...
...
...
...
...
kn 1
...
...
...
...
1
k1
kn
se dau parametrii
M f , M g , ,V
0
...
, respectiv bC
0
1
Rf
i 1, n .
isG
X , isH
, THENg
l 1,...,l n
l 1,...,l n
Mulimile fuzzy i
regulile fuzzy nglobeaz cunotinele lingvistice despre proces dac ele exist, n caz contrar se
iau arbitrar lsnd pe seama algoritmului de antrenare ajustarea acestora.
n
l1 ,...,ln
x
i
m1
i 1
mn
l1 1
ln
Fi i
... x
l
Fi i
i 1
i se ordoneaz n
m - dimensional. Se
i 1
l1 ,..., l n
, respectiv H l1 ,...,l n n care aceasta ating valoarea maxim adic 1. rezult atunci
X
g X , X
f X , f
t
f
t
g
Adaptarea on-line
1
n
t
se aplic procesului comanda u uC uS unde uc g X / f X / y m k e i
uS I1* sgn e t Pb C
1
f X / f f U X g X / g uC g U X uC
gL X
1, Ve V
1, y 0
, sgn y 1, y 0 .
0, Ve V
vectorul parametrilor f se ajusteaz conform urmtorului algoritm
*
unde: I1
P 1 e t PbC X dac f
M si e t Pb t X 0
f
C
f
f
M f si e t PbC tf X < 0
t
t
t
proiecie se definete: P 1 e PbC X 1 e PbC X 1 e PbC
unde operatorul de
f tf X
f
gi 0 dac et Pb i X u C 0
C
altfel se utilizeaz:
t
2 e PbC X u C
g tg X
g
unde
uC
2.
3.
2V
X t Y m
1
2
min
u t
2V
M f ym k
min
t 0 , unde
min
4.
1
2
1
1
Mf f U X
M g gU
gL X
5. Dac
w
0
M f ym k
2V
min
1
2
definit de (2.17).
t
e d a b w d ,
0
e t 0
d atunci lim
t
2.4 Etapele n proiectarea unui sistem fuzzy adaptiv indirect folosind al doilea tip de
model fuzzy
Calcule off-line analoage
Construirea unui controller iniial
M
exp
l 1
i 1
i 1
exp
l
x i x lfi
fi
x i x lfi
exp
l i 1
fi
M
y exp
g X / g
i 1
l
fi , gi
l 1
yf
f X / f
x i x
gil
l
gi
x i x lgi
gi
unde
... lfi , gi
se calculeaz
f
l
yf
l
fi
blf
M
b
l 1
f X , f
l
f
l
y f f
M
blf
l 1
l
f
l
fi
2 xi x fi
2
y f f l 2 xi x fi
f
bf
M
3
fil
l
lfi
bf
l 1
x x lfi
unde b exp i l
fi
i 1
l
f
uS I1* sgn e t Pb C
1, Ve V
1, y 0
, sgn y 1, y 0 .
0, Ve V
unde: I1*
1
f X / f f U X g X / g uC g U X uC
gL X
(2.12)
oricnd un element fi
l
f
f
t
1 e PbC l dac e PbC l 0
fi
fi
l
se utilizeaz fi
f
t
0 dac e PbC l 0
fi
altfel se utilizeaz:
f
dac f M f sau f M f si et PbC tf
0
f
f
f
t
t
t
e
Pb
dac
M
si
e
Pb
<
0
1
f
f
C
C f
f
f
g tg f
f
f
t
t
t
1 e PbC
1 e PbC
1 e PbC
2
f
f
g f
1 et PbC
f
f
g
g
t
t
e
Pb
u
dac
e
Pb
l uC 0
C
2 C yl C
y
g
g
oricnd un element
y lg
se utilizeaz
y g
l
g
t
0
dac
e
Pb
u 0
C
yl C
g
g
t
t
e
Pb
u
dac
e
Pb
l uC 0
C
2 C l C
gi
gi
l
oricnd un element gi se utilizeaz
l
gi
g
t
0
dac
e
Pb
u 0
C
l C
altfel se utilizeaz:
gi
g
g
u C dac g M g sau g M g si e t PbC tg
u C 0
g
g
g
g
2 e t PbC
u C dac g M g si e t PbC tg
u C < 0
g
g
2 e t PbC
g g g
g
g
P 2 e PbC
u C 2 et PbC
u C 2 e t PbC
uC
2
g
g
g g
t
Proprietile algoritmului sunt identice ca i n cazul folosirii primului tip de model cu modificarea lui w
cu v n relaia mrginirii erorii. Algoritmul va asigura o eroare de aproximare minim mai bun deoarece
spaiul unde se caut parametrii este mai mare. Sensibilitatea performanelor la alegerea valorilor iniiale
ale parametrilor va fi mai mare.
Observaie: De obicei forma general a sistemelor neliniare este:
X F X , u
y h X
algoritmul expus este necesar gsirea unei relaii directe ntre ieirea sistemului y i intrarea u. Aceasta
se realizeaz printr-un algoritm de liniarizare care const n diferenierea repetat a ieirii y pn cnd
apare intrarea u, apoi se proiecteaz legea de comand u astfel nct s neliniaritatea s dispar,
rezultnd n final o lege de comand liniar. Presupunnd c dup r diferenieri repetate apare intrarea
u, r n unde n dimensiunea vectorului variabilelor de stare X se va numi gradul relativ al sistemului:
y r f X g X u . Se poate arta c pentru orice sistem controlabil de ordinul n, dup cel mult n
diferenieri succesive va aprea intrarea u. n continuare se aplic algoritmul prezentat anterior, cu
excepia c nu va mai exista o comand supervizoare, necunoscnd funciile f, g fiind total necunoscute.
(3.1)
yx
unde f constituie funcia necunoscut, b este o constant pozitiv , u R este semnalul de comand i y
t
este ieirea din proces. Presupunem c vectorul variabilelor de stare X x , x ,..., x n 1 este accesibil
msurtorilor. Obiectivele de control vor fi aceleai, cu deosebirea c semnalul de comand uC X / se
consider a fi un sistem fuzzy.
Presupunem c semnalul de control are forma: u uC X / uS X
(3.2)
n
Prin nlocuire n (3.1) rezult: x f X b uC X / uS X
(3.3)
Dac f i b sunt cunoscute atunci legea de comand: u*
1
f ym n k t e
b
(3.4) va
ales astfel nct rdcinile polinomului h s s n k1s n 1 ... kn s de gseasc n semiplanul stng al
planului complex. n ecuaia (3.3) adugm i scdem bu* , rezultnd dup cteva artificii de calcul
ecuaia erorii care guverneaz comportamentul sistemului nchis:
e n k t e b u* uC X / uS X
(3.5) sau
echivalentul acesteia cu variabile de faz: e C e bC u* uC X / uS X
(3.6) unde
...
...
...
k n 1
0
kn
0
0
0
0
. , bC 0
1
...
b
k1
(3.7)
Asociem acestei ecuaii funcia Lyapunov Ve
1 t
e Pe unde P este o matrice simetric pozitiv definit,
2
(3.8)
1
1
(3.9).
Ve et Qe et PbC u* uC X / uS X et Qe e t PbC u* uC et PbC uS
2
2
Pentru a gsi o comand supervizoare uS astfel nct Ve 0 se consider c se poate determina o funcie
f U X
f X f U X
1
uS X I1* sgn et PbC uC
f U ym n k t e
bL
(3.10)
unde semnificaia constantelor este aceai. n cazul n care I1* 1 ( Ve V ) rezult prin nlocuire n (3.9):
1
1
1
1
Ve et Qe et PbC
f y m n k t e uC uC
f U y m n k t e et Qe 0
2
bL
2
b
(3.11)
Cum P>0 mrginirea lui Ve implic mrginirea lui e care va implica mrginirea lui X .
n continuare se va considera pentru uC X / sistemul fuzzy de primul sau al doilea tip i se va prezenta
legea de ajustare a vectorului parametrilor sistemului . Se consider vectorul parametrilor optimali ai
sistemului:
(3.12) i
X Mx
e C e bC u* uC X / bC uS X bC w
Alegnd
uC X / X
i notnd
e C e bC X bC uS X bC w
* ,
(3.14)
ecuaia (3.14) devine:
(3.15)
1
t
t
Redefinim atunci funcia Lyapunov : V 2 e Pe 2 (3.14) a crei derivat va fi:
1
b
V et Qe et PbC t X uS w t
2
(3.16)
1 t
b t
t
et Pb u et Pb w
nlocuind (3.17) n (3.16) rezult: V 2 e Qe e pn X
C S
C
, alegnd legea de ajustare: e t p X
Cum
n
atunci relaia (3.18) devine:
1
V et Qe et PbC w
2
(3.18)
(3.19)
(3.20)
S-a utilizat faptul: et PbC uS 0 . De asemenea pentru a garanta M se utilizeaz algoritmul vectorului
gradient proiectat.
Dac alegem tipul al doilea de model fuzzy, este necesar descompunerea n serie Taylor n jurul lui :
uC
2
O
2
(3.22) unde v w O , algoritmul de calcul fiind n continuare analog.
Schema general va fi analoag cu cea prezentat n capitolul 2.
uC X / * uC X / t
(3.21)
3.2 Etapele n proiectarea unui sistem fuzzy adaptiv direct folosind primul tip de model
fuzzy
Calcule off-line
alege k1 , k2 ,..., kn astfel nct toate rdcinile polinomului s n k1s n1 ... kn 0 s fie n
semiplanul stng al planului complex.
se alege o matrice Q nxn pozitiv definit i se rezolv ecuaia Lyapunov tC P P C Q unde
...
...
0
0
...
...
...
...
...
...
...
...
kn 1
...
...
...
...
1
k1
kn
se dau parametrii
0
...
b
, respectiv C
0
1
i 1, n .
l ,...,l
: IFx1isF1l and ... andx n isFnln , THENf X , f isG l1,...,l
Regulile sunt de forma: R f
Mulimile fuzzy i regulile fuzzy nglobeaz cunotinele lingvistice despre proces dac ele
exist, n caz contrar se iau arbitrar lsnd pe seama algoritmului de antrenare ajustarea
acestora.
1
l1 ,...,ln
x
l
m1
i 1
mn
l1 1
ln
Fi i
... x
l
i 1
Fi i
i se ordoneaz n
m - dimensional. Se
i 1
Adaptarea on-line
1
uS I1* sgn e t Pb C uC
f U X y m n k t e
bL
1, Ve V
1, y 0
*
unde: I1
, sgn y 1, y 0 .
0, Ve V
vectorul parametrilor f se ajusteaz conform urmtorului algoritm
e t p X dac M sau
n
f
t
P e pn X dac f
M si e t p t X 0
n
f
f
t
t
M si e pn f X < 0
proiecie se definete: P e pn X e pn X e pn
t
unde operatorul de
f tf X
f
2V
1
2
2.
X t Y m
3.
2V
1
n
u t 2 M
f U ym
k
bL
min
min
1
2
t 0 , unde
4.
d a b w d ,
5. Dac
w
0
min
e t 0
d atunci lim
t
3.3 Etapele n proiectarea unui sistem de control fuzzy adaptiv direct folosind al doilea
tip de model fuzzy
Calcule off-line analoage, fiind necesar i introducerea limitei inferrioare pentru dispersia funciilor
de apartenen
Construirea unui controller iniial
Se consider modele fuzzy de tipul al doilea de forma:
2
l
n
M
l
x
x
fi
exp i l
y f
fi
i 1
l 1
l
l
M n
xi x fi
exp
l
lfi
i 1
uC X , f
se calculeaz
blf
uC
l
M
yf
blf
l 1
l
l
uC y f f l 2 xi x fi
bf
l
M
2
l
x fi
l
fi
b
f
l 1
uC y f f l 2 xi x fi
M
bf
3
lfi
l
lfi
bf
l 1
x x lfi
unde b exp i l
fi
i 1
l
f
1
uS I1* sgn e t Pb C uC
f U X y m n k t e
bL
1, Ve V
1, y 0
*
unde: I1
, sgn y 1, y 0 .
0, Ve V
vectorul parametrilor f se ajusteaz conform urmtorului algoritm:
et pn
l
oricnd un element fi se utilizeaz
l
fi
uC
t uC
dac
e
pn l 0
lfi
fi
uC
0 dac e pn l 0
fi
t
altfel se utilizeaz:
et p X
n
dac f M sau
P e t pn X dac f
M si e t p t X 0
n
f
f
t
t
M si e pn f X < 0
P e pn X e pn X e pn
t
f tf X
f
x 1 x2
x 2
u
2
4 m cos 2 x1
4 m cos x1
l
3
mc m
mc m
3
g sin x1
privind restriciile: f U , gU , g L :
f x1 , x2
g x1 , x2
3 11
.
3 mC m
g sin x1
1
1
mC m
146
. gU x1 , x2
2
4 m cos x1
2 0.05
11
.
3 11
.
3 mC m
cos x1
112
. g L x1 , x2
2 0.05
2
11
.
cos
3 11
.
6
, rezultnd imediat:
6
cos
x1
x2
2 1/ 2
dac putem
atunci i x1
. De asemenea o s avem x2 . Parametrii V , k1 , k2 , , M f , M g astfel nct
6
6
6
restriciile asupra semnalului de control u, respectiv strii s fie ndeplinite, n concordan totodat cu teorema
care stabilete performanele sistemului de control,
u t
2V
M f ym k
min
Cum ym
1
2
2V
X t Y m
min
1
1
Mf f U X
M g gU
gL X
1
2
2V
i impunem X
, rezult
6 30 min
30
6
,
2V
M f ym k
min
1/ 2
1/ 2
2V
, adic
1
2
min
2
15
10
15
min 2
2 15
0
,
10
5
pozitiv definit
5
, 1 50 , 2 1 , Ts=0.01,
Referin treapt unitate ym
30
X 0
0 , rezultnd n final o eroare de urmrire e=3.0746e-010 , de modelare em= 0.1047 i
60
valoarea funciei Lyapunov V=4.7265e-019. Comanda supervizoare va fi zero, valoarea funciei Lyapunov
neatingnd pragul de activate a acesteia.
sin t , 1 50 , 2 1 , Ts=0.01
30
x10=-pi/60; e= 9.2416e-005,V= 4.6366e-008
Referin sinusoidal y m
Perturbez referina cu un semnal stochastic avnd amplitudinea jumtate din amplitudinea semnalului de
referin:
Se observ c sistemul filtreaz perturbaia, ieirea semnalul de ieire fiind aproape sinusoidal.
Consider cazul unei referine sinusoidale dar de amplitudine pi/4 n afara domeniului considerat pentru
x, considerndu-se tot 3 variabile lingvistice , paii de cutare fiind gam1=5, gam2=0.1.
Se observ c indiferent de starea final eroarea de modelare ca i semnal din sistemul nchis e stabil n
sens Lyapunov. Indiferent de starea iniial a procesului ce se modeleaz oscilaiile sunt mrginite de
aceeai margine. Din modul cum oscileaz nc parametrii supui ajustrii se deduce c parametrii nu sunt
nc cei mai buni.
Presupunem c despre proces nu avem disponibile informaii cum ar fi mrginirea funciilor,etc, ci numai
cunoatem c gradul relativ al sistemului este 2. Necunoscnd domeniul de variaie al parametrilor
sistemului, ajustez parametrii acestuia direct dup gradient, nemaiintroducnd limitarea acestora pe un
domeniu.
e= 7.5342e-005; V=3.2025e-006
, 1 50 , 2 1 , Ts=0.01
30
X 0
0 , rezultnd n final o eroare de urmrire e= 2.6499e-010, de modelare
60
sin t , 1 50 , 2 1 , Ts=0.01
30
x10=-pi/60; e= 1.4566e-004,V= 1.2482e-007
Referin sinusoidal y m
Algoritmul de ajustare a parametrilor se realizeaz cu pas constant. Pasul de cutare poate fi interpretat ca
o rat de nvare, avnd n vedere structura similar cu a unei reele neuronale a modelelor fuzzy.
Algoritmul acioneaz asupra minimizrii erorii de urmrire i nu a erorii de modelare. De fapt se nva
semnalul de referin.
Controller fuzzy adaptiv direct cu primul tip de model fuzzy
pentru f cunosc marginea superioar, i consider bl=1, rezultnd la o treapt de pi/30:
e= -3.5162e-004; V= 2.6888e-011;
x1 x2
2 03. x2 u
1
care conduce la ecuaiile de stare
s( 0.3s 1)
Se va simula un sistemul nchis n cazul unui controller fuzzy adaptiv direct construit cu primul tip de
model fuzzy, respectiv cu cel de al doilea tip de model fuzzy, neconsiderndu-se un domeniu n care s se
gseasc parametrii ajustabili.
Controller fuzzy adaptiv direct cu primul tip de model fuzzy
Pentru controllerul fuzzy se consider domeniul pentru variabilele de intrare [-4 4], pe care se consider 5
variabile lingvistice cu centrele uniform distribuite pe domeniul de intrare i dispersia funciilor de
apartenen 1 parametrii iniiali ( centrele concluziilor legilor de apartenen se aleg aleatoriu n intervalul
[-5 5].
Se consider aceeai parametrii pentru definirea dinamicii erorii de urmrire ca n exemplul anterior.
referin treapt de amplitudine 3 , perioada de eantionare Ts=0.1, pas de cutare gama=1
referin treapt de amplitudine 10 care va plasa variabilele de intrare n afara domeniului de definiie,
perioada de eantionare Ts=0.1, pas de cutare gama=1
reconsider o eantionare cu perioada de 0.5 .Pstrnd acelai pas de cutare sau rat de nvare
sistemul devine instabil, deoarece reeaua nu reuete s se antreneze. Pentru aceasta reconsider un nou
pas de cutare mai mic gama=0.2 avnd n vedere c eroarea de urmrire dup care se realizeaz
ajustarea evolueaz mai repede. Va fi afectat dinamica sistemului avnd n vedere c procesul de
nvare necesit cam acelai timp.
Ca urmare a pasului de cutare rezult n primul pas de ajustare valori negative pentru dispersiile
funciilor radiale, valori care ca urmare a algoritmului de limitare se vor pstra neschimbate.
reconsider cazul unui semnal de referin triunghiular semnal prin care impunem sistemului s nvee 2
tipuri de semnale de referin.
10
df_deta.m calculeaz derivata funciei ce descrie modelul fuzzy la parametrii care se ajusteaz
function [dfy,dfx,dfs]=df_dteta(x,x0,sigma,yl);
%function [dfy,dfx,dfs]=df_dteta(x,x0,sigma,yl)
%calculeaza derivata functionalei ce defineste modelul fuzzy functie
%de parametrii x0,sigma,teta in punctul x
%x=nx1 intrararile modelului fuzzy
%x0=nxM centrele premizelor celor M reguli
%sigma=nxM varianta
%yl=Mx1 centrele comsecintei celor M reguli
%dfy=Mx1 derivata dupa yl
%dfx=nxM derivata dupa x
%dfs=nxM derivata dupa sigma
M=length(yl);
n=length(x);
dfy=radial(x,x0,sigma);
ff=sim_f1(x,x0,sigma,yl);
for l=1:M
for i=1:n
dfx(i,l)=2*dfy(l)*(ff-yl(l))*(x(i)-x0(i,l))/sigma(i,l)^2;
dfs(i,l)=dfx(i,l)*(x(i)-x0(i,l))/sigma(i,l)^2;
end;
end;
y=15.78+0.0366*x(2)^2;
pend_gl.m
function y=pend_gl(x);
y=1.12;
pend_gu.m
function y=pend_gu(x);
y=1.46;
inada_f1.m simulator pentru control fuzzy adaptiv indirect cu primul tip de model fuzzy
%genereaza comanda u si adapteaza parametrii tetaf,tetag
%x=vector stare (faze) proces nx1 unde x(1) reprezinta iesirea din proces, x(2) derivata de
%ordin 2, ....
%ym=referinta nx1 ym(1) iesirea dorita, ym(2) derivata iesirii dorite,...
%x0f= nxMMf centre multimi fuzzy modelul functiei f(x) und MMf este numarula regulilor fuzzy
%sigmf=nxmf varianta functiilor de apartenenta multimilor fuzzy considerate pentru premizele
%regulilor care descriu modelul pentru f, unde mf este numarul partitiilor fuzzy
%tetaf=MMfx1 centre multimi fuzzy consecinte reguli ce descriu modelul fuzzy pentru f(x)
%x0g=nxMg, sigmag=nxmg, tetag=mgx1 idem pentru functia g
%P=matricea Lyapunov calculata aprioric, Q matrice nxn pozitiv definita utilizata in ecuatia Lyapunov
%|tetaf|<=Mf, |tetag|<=Mg limitari impuse parametrilor pe parcursul calculelor
%|tetag|>E a. i. modelul fuzzy pentru g sa fie pozitiv ca valori numerice calculate
%V=limitare impusa functiei Lyapunov asociate procesului; cand functia Lyapunov depaseste
%aceasta valoare apare o comanda supervizoare care o forteaza sa devina mai mica ca V
%k= nx1 asigura convergenta exponentiala spre zero a erorii
%gam1,gam2=pasi de ajustare a parametrilor tetaf, tetag
%ymn=derivata de ordin n a referintei
%fu,gl,gu=limitele functiilor f, g
clear
%date initiale
%numar intrari
nn=2;
%starea initiala
x=zeros(nn,1); x(1)=-pi/60;
%semnale comanda initiale
uc=[];us=[];
%limita domeniu valori intrare in proces
Mx=pi/6;
%definire parametrii functii radiale
mf=5; %numar variabile lingvistice pentru modelul f
sigmf=ones(1,mf)*pi/24; %definire variante pentru variabilel lingvistice
xcf=(-Mx:2*Mx/(mf-1):Mx)';% centre variabile lingvistice
[uc(k,1),us(k,1),Ve(k)]=inada_u(x(:,k),x0f,sigmaf,tetaf(:,k),x0g,sigmag,tetag(:,k),ym(nn+1,k),K,e(:,k),P,bc,V,fu,gu,gl);
u(k,1)=uc(k)+us(k);
[T,Y]=ode23(fun,(k-1)*Ts,k*Ts,[x(:,k);u(k)]);
[ny,my]=size(Y);
x(:,k+1)=Y(ny,1:my-1)';
xm(k)=sim_f1(x(:,k),x0f,sigmaf,tetaf(:,k))+sim_f1(x(:,k),x0g,sigmag,tetag(:,k))*u(k);
aa(k)=(g*sin(x(1,k))-(m*l*x(2,k)^2*cos(x(1,k))*sin(x(1,k)))/(mc+m)+cos(x(1,k))/(mc+m)*u(k))/(l*(4/3-m*cos(x(1,k))^2/
(mc+m)));
em(k)=aa(k)-xm(k);
ym(:,k+1)=feval(referinta,k+1,Ts,ym(:,k));
e(:,k+1)=ym(1:nn,k+1)-x(:,k+1);
csif=radial(x(:,k+1),x0f,sigmaf);
csig=csif;
%ajustarea parametrilor
cof1=abs(tetaf(:,k));
co=e(:,k+1)'*P*bc;
cof2(k)=co*tetaf(:,k)'*csif;
tetaf(:,k+1)=ada_teta(tetaf(:,k),co,cof1,cof2(k),Mf,gam1,csif,-1);
cog1=abs(tetag(:,k));
cog2(k)=co*tetag(:,k)'*csig*uc(k);
tetag(:,k+1)=ada_teta(tetag(:,k),co,cog1,cog2(k),Mg,gam2,csig*uc(k),-1);
tetag(:,k+1)=ada_lim(tetag(:,k),tetag(:,k+1),gam2,E,co,csig*uc(k),-1);
clc
k,e(1,k),e(2,k),em(k),Ve(k)
end;
u=[0;u];
timp(k+1)=k*Ts;
subplot(211),plot(timp,ym(1,:),timp,x(1,:)),grid,title('iesire proces si referinta')
subplot(212),plot(timp,u),grid,title('comanda')
subplot(111)
inada_f2.m simulatorul pentru control fuzzy adaptiv indirect cu cel de al doilea tip de model fuzzy
%genereaza comanda u si adapteaza parametrii tetaf,tetag
%x=vector stare (faze) proces nx1 unde x(1) reprezinta iesirea din proces, x(2) derivata de
%ordin 2, ....
%ym=referinta nx1 ym(1) iesirea dorita, ym(2) derivata iesirii dorite,...
%x0f= nxMMf centre multimi fuzzy modelul functiei f(x) und MMf este numarula regulilor fuzzy
%sigmf=nxMMf varianta functiilor de apartenenta multimilor fuzzy considerate pentru premizele
%regulilor care descriu modelul pentru f
%tetaf=MMfx1 centre multimi fuzzy consecinte reguli ce descriu modelul fuzzy pentru f(x)
%x0g=nxMg, sigmag=nxmg, tetag=mgx1 idem pentru functia g
%P=matricea Lyapunov calculata aprioric, Q matrice nxn pozitiv definita utilizata in ecuatia Lyapunov
%perioada de esantionare
Ts=0.01;
%prima referinta
ym=feval(referinta,1,Ts,zeros(nn+1,1));
%eroarea initiala
e=x-ym(1:nn);
bc=zeros(max(size(P)),1);bc(length(bc))=1;
g=9.8;mc=1;m=0.1;l=0.5;
no=input('numar iteratii=');
for k=1:no
timp(k)=(k-1)*Ts;
[uc(k,1),us(k,1),Ve(k,1)]=inada_u(x(:,k),x0f,sigmaf,yfl,x0g,sigmag,ygl,ym(nn,k),K,e(:,k),P,bc,V,fu,gu,gl);
u(k,1)=uc(k)+us(k);
[T,Y]=ode23(fun,(k-1)*Ts,k*Ts,[x(:,k);u(k)]);
[ny,my]=size(Y);
x(:,k+1)=Y(ny,1:my-1)';
xm(k)=sim_f1(x(:,k),x0f,sigmaf,yfl)+sim_f1(x(:,k),x0g,sigmag,ygl)*u(k);
aa(k)=(g*sin(x(1,k))-(m*l*x(2,k)^2*cos(x(1,k))*sin(x(1,k)))/(mc+m)+cos(x(1,k))/(mc+m)*u(k))/(l*(4/3-m*cos(x(1,k))^2/
(mc+m)));
em(k)=aa(k)-xm(k);
ym(:,k+1)=feval(referinta,k+1,Ts,ym(:,k));
e(:,k+1)=ym(1:nn,k+1)-x(:,k+1);
%calcul derivate
[dfy,dfx,dfs]=df_dteta(x(:,k+1),x0f,sigmaf,yfl);
df=[dfy dfx' dfs'];df=df(:);
[dgy,dgx,dgs]=df_dteta(x(:,k+1),x0g,sigmag,ygl);
dg=[dgy dgx' dgs'];dg=dg(:);
%ajustarea parametrilor
cof1=abs(tetaf(:,k));
co=e(:,k+1)'*P*bc;
cof2(k)=co*tetaf(:,k)'*df;
tetaf(:,k+1)=ada_teta(tetaf(:,k),co,cof1,cof2(k),Mf,gam1,df,-1);
dfs=dfs';
M=MMf;
tetaf(3*M+1:5*M,k+1)=ada_lim(tetaf(3*M+1:5*M,k),tetaf(3*M+1:5*M,k+1),gam1,S,co,dfs(:),-1);
yfl=tetaf(1:M,k+1);
x0f=[tetaf(M+1:2*M,k+1) tetaf(2*M+1:3*M,k+1)]';
sigmaf=[tetaf(3*M+1:4*M,k+1) tetaf(4*M+1:5*M,k+1)]';
cog1=abs(tetag(:,k));
cog2(k)=co*tetag(:,k)'*dg*uc(k);
M=MMg;
tetag(:,k+1)=ada_teta(tetag(:,k),co,cog1,cog2(k),Mg,gam2,dg*uc(k),-1);
tetag(1:M,k+1)=ada_lim(tetag(1:M,k),tetag(1:M,k+1),gam2,E,co,dgy*uc(k),-1);
dgs=dgs';
tetag(3*M+1:5*M,k+1)=ada_lim(tetag(3*M+1:5*M,k),tetag(3*M+1:5*M,k+1),gam2,S,co,dgs(:)*uc(k),-1);
ygl=tetag(1:M,k+1);
x0g=[tetag(M+1:2*M,k+1) tetag(2*M+1:3*M,k+1)]';
sigmag=[tetag(3*M+1:4*M,k+1) tetag(4*M+1:5*M,k+1)]';
clc
linad_f1.m simulator pentru controller fuzzy adaptiv indirect obinut prin liniarizare
%function [u,tetaf,tetag]=inada_f1(x,ym,x0f,sigmaf,tetaf,x0g,sigmag,tetag,P,Q,Mf,Mg,E,V,k,gam1,gama2,ymn,fu,gl,gu)
%[u,tetaf,tetag]=inada_f1(x,ym,x0f,sigmaf,tetaf,x0g,sigmag,tetag,P,Mf,Mg,E,V)
%genereaza comanda u si adapteaza parametrii tetaf,tetag
%x=vector stare (faze) proces nx1 unde x(1) reprezinta iesirea din proces, x(2) derivata de
%ordin 2, ....
%ym=referinta nx1 ym(1) iesirea dorita, ym(2) derivata iesirii dorite,...
%x0f= nxMMf centre multimi fuzzy modelul functiei f(x) und MMf este numarula regulilor fuzzy
%sigmf=nxmf varianta functiilor de apartenenta multimilor fuzzy considerate pentru premizele
%regulilor care descriu modelul pentru f, unde mf este numarul partitiilor fuzzy
%tetaf=MMfx1 centre multimi fuzzy consecinte reguli ce descriu modelul fuzzy pentru f(x)
%x0g=nxMg, sigmag=nxmg, tetag=mgx1 idem pentru functia g
%P=matricea Lyapunov calculata aprioric, Q matrice nxn pozitiv definita utilizata in ecuatia Lyapunov
%|tetaf|<=Mf, |tetag|<=Mg limitari impuse parametrilor pe parcursul calculelor
%|tetag|>E a. i. modelul fuzzy pentru g sa fie pozitiv ca valori numerice calculate
%V=limitare impusa functiei Lyapunov asociate procesului; cand functia Lyapunov depaseste
%aceasta valoare apare o comanda supervizoare care o forteaza sa devina mai mica ca V
%k= nx1 asigura convergenta exponentiala spre zero a erorii
%gam1,gam2=pasi de ajustare a parametrilor tetaf, tetag
%ymn=derivata de ordin n a referintei
%fu,gl,gu=limitele functiilor f, g
clear
%date initiale
%numar intrari
nn=2;
%starea initiala
x=zeros(nn,1); x(1)=-pi/30;
%semnale comanda initiale
uc=[];us=[];
%limita domeniu valori intrare in proces
Mx=pi/6;
%definire parametrii functii radiale
mf=5; %numar variabile lingvistice pentru modelul f
sigmf=ones(1,mf)*pi/24; %definire variante pentru variabilel lingvistice
xcf=(-Mx:2*Mx/(mf-1):Mx)';% centre variabile lingvistice
MMf=mf*mf; %numar reguli implicate in descrierea modelului
x0f=[];sigmaf=[]; %premize reguli
for i=1:mf
for j=1:mf
x0f=[x0f [xcf(i);xcf(j)]];
sigmaf=[sigmaf [sigmf(i);sigmf(j)]];
end;
%ym(:,k+1)=[AA;0];
e(:,k+1)=ym(:,k+1)-x(:,k+1);
csif=radial(x(:,k+1),x0f,sigmaf);
csig=csif;
%ajustarea parametrilor
cof1=abs(tetaf(:,k));
co=e(:,k+1)'*P(:,np);
cof2(k)=co*tetaf(:,k)'*csif;
tetaf(:,k+1)=ada_teta(tetaf(:,k),co,cof1,cof2(k),Mf,gam1,csif,1);
clc
k,e(1,k),e(2,k),em(k),Ve(k)
end;
u=[0;u];
timp(k+1)=k*Ts;
subplot(211),plot(timp,ym(1,:),timp,x(1,:)),grid,title('iesire proces si referinta')
subplot(212),plot(timp,u),grid,title('comanda')
subplot(111)
ada_f2.m controller fuzzy adaptiv direct cu cel de-al doilea tip de model fuzzy
%function [u,tetaf]=ada_f2(x,ym,x0f,sigmaf,tetaf,bl,P,Q,Mf,Mg,S,V,k,gam1,ymn,fu)
%[u,tetaf,tetag]=inada_f2(x,ym,x0f,sigmaf,tetaf,x0g,sigmag,tetag,P,Mf,Mg,E,V)
%genereaza comanda u si adapteaza parametrii tetaf,tetag
%x=vector stare (faze) proces nx1 unde x(1) reprezinta iesirea din proces, x(2) derivata de
%ordin 2, ....
%ym=referinta nx1 ym(1) iesirea dorita, ym(2) derivata iesirii dorite,...
%x0f= nxMMf centre multimi fuzzy modelul functiei f(x) und MMf este numarula regulilor fuzzy
%sigmf=nxMMf varianta functiilor de apartenenta multimilor fuzzy considerate pentru premizele
%regulilor care descriu modelul pentru f
%tetaf=MMfx1 centre multimi fuzzy consecinte reguli ce descriu modelul fuzzy pentru f(x)
%P=matricea Lyapunov calculata aprioric, Q matrice nxn pozitiv definita utilizata in ecuatia Lyapunov
%|tetaf|<=Mf, |tetag|<=Mg limitari impuse parametrilor pe parcursul calculelor
%|tetag|>E a. i. modelul fuzzy pentru g sa fie pozitiv ca valori numerice calculate
%V=limitare impus-a functiei Lyapunov asociate procesului; cand functia Lyapunov depaseste
%aceasta valoare apare o comanda supervizoare care o forteaza sa devina mai mica ca V
%K= nx1 asigura convergenta exponentiala spre zero a erorii
%gam1=pasi de ajustare a parametrilor tetaf, tetag
%ymn=derivata de ordin n a referintei
%fu,=limitele functiei f
clear
no=input('numar iteratii=');
Ts=input('perioada de esantionare=');
gam1=input('gama1=');
nn=2; %dimensiune intrare
liada_f1.m controller fuzzy adapriv direct cu primul tip de model fuzzy folosit pentru sistemele liniare
%genereaza comanda u si adapteaza parametrii tetaf,tetag
%x=vector stare (faze) proces nx1 unde x(1) reprezinta iesirea din proces, x(2) derivata de
%ordin 2, ....
%ym=referinta nx1 ym(1) iesirea dorita, ym(2) derivata iesirii dorite,...
%x0f= nxMMf centre multimi fuzzy modelul functiei f(x) und MMf este numarula regulilor fuzzy
%sigmf=nxmf varianta functiilor de apartenenta multimilor fuzzy considerate pentru premizele
%regulilor care descriu modelul pentru f, unde mf este numarul partitiilor fuzzy
%tetaf=MMfx1 centre multimi fuzzy consecinte reguli ce descriu modelul fuzzy pentru f(x)
%P=matricea Lyapunov calculata aprioric, Q matrice nxn pozitiv definita utilizata in ecuatia Lyapunov
%|tetaf|<=Mf, |tetag|<=Mg limitari impuse parametrilor pe parcursul calculelor
%V=limitare impusa functiei Lyapunov asociate procesului; cand functia Lyapunov depaseste
%aceasta valoare apare o comanda supervizoare care o forteaza sa devina mai mica ca V
%k= nx1 asigura convergenta exponentiala spre zero a erorii
%gam1,gam2=pasi de ajustare a parametrilor tetaf, tetag
%ymn=derivata de ordin n a referintei
%fu=limita functiei f
clear
no=input('numar iteratii=');
Ts=input('perioada de esantionare=');
gam1=input('gama1=');
nn=2; %dimensiune intrare
fun='oscil';
referinta='sis_ref';
k2=1;%corespunde lui e
k1=2;%corespunde primei derivate a erorii
K=[k2;k1];
Q=eye(2)*10;
P=inv([0 -k2 -k2 0;1 -k1 0 -k2;1 0 -k1 -k2;0 1 1 -2*k1])*(-1*Q(:));
P=[P(1) P(2);P(3) P(4)];
[mp,np]=size(P);
ll=min(eig(P));
AA=3;
Mf=5;Mx=4;
[dfy,dfx,dfs]=df_dteta(x(:,k+1),x0f,sigmaf,yfl);
df=[dfy dfx' dfs'];df=df(:);
%ajustarea parametrilor
cof1=abs(tetaf(:,k));
co=e(:,k+1)'*P(:,np);
tetaf(:,k+1)=tetaf(:,k)+gam1*co*df;
dfs=dfs';
M=MMf;
tetaf(3*M+1:5*M,k+1)=ada_lim(tetaf(3*M+1:5*M,k),tetaf(3*M+1:5*M,k+1),gam1,S,co,dfs(:),1);
yfl=tetaf(1:M,k+1);
x0f=[tetaf(M+1:2*M,k+1) tetaf(2*M+1:3*M,k+1)]';
sigmaf=[tetaf(3*M+1:4*M,k+1) tetaf(4*M+1:5*M,k+1)]';
clc
k,e(1,k),e(2,k),em(k),Ve(k)
end;
u=[0;u];
timp(k+1)=k*Ts;
subplot(211),plot(timp,ym(1,:),timp,x(1,:)),grid,title('iesire proces si referinta')
subplot(212),plot(timp,u),grid,title('comanda')
subplot(111)
oscil.m modele procese liniare
function yprim=oscil(t,y)
%yprim(1)=y(2);
%yprim(2)=y(3);
%yprim(3)=1/0.3*(-y(3)+0.3*y(2)-y(3)+y(4));
%yprim(4)=0;
yprim(1)=y(2);
yprim(2)=1/0.3*(-0.7*y(2)+y(1)+10*y(3));
%yprim(1)=y(2);
%yprim(2)=1/0.3*(-y(2)+y(3));
%functie ce descrie un oscilator care se comporta haotic in absenta comenzii
%yprim(1)=y(2);
%yprim(2)=-0.1*y(2)-y(1)^3+12*cos(t)+y(3);
yprim(3)=0;
CUPRINS
Prefa...............................................................................................................................................................
Capitolul 1: Modele fuzzy................................................................................................................................
Capitolul 2: Control fuzzy adaptiv indirect pentru sisteme neliniare...............................................................
2.1 Control fuzzy adaptiv..............................................................................................................................
2.1 Sinteza sistemelor fuzzy de control adaptiv indirect pe baza teoriei stabilitii a lui Lyapunov.............
2.3 Etapele n proiectarea unui sistem fuzzy adaptiv indirect folosind primul tip de model fuzzy..............
2.4 Etapele n proiectarea unui sistem fuzzy adaptiv indirect folosind al doilea tip de model fuzzy...........
Capitolul 3: Control fuzzy adaptiv direct.........................................................................................................
3.1 Sinteza sistemelor fuzzy de control fuzzy adaptiv direct pe baza teoriei stabilitii a lui Lyapunov......
3.2 Etapele n proiectarea unui sistem fuzzy adaptiv direct folosind primul tip de model fuzzy..................
3.3 Etapele n proiectarea unui sistem de control fuzzy adaptiv direct folosind al doilea tip de model
fuzzy..............................................................................................................................................................
Capitolul 4: Simulri algoritmi.........................................................................................................................
4.1 Aplicaie: Sistem de urmrire traiectorie pentru pendulul invers............................................................
4.2 Aplicaie pentru un sistem liniar..............................................................................................................
4.3: Programe de simulare folosite................................................................................................................
CUPRINS..........................................................................................................................................................