Documente Academic
Documente Profesional
Documente Cultură
Capitolul 3
REZOLV AR E A N UM ERIC Ă A E C U AŢ IILO R NELI NI ARE I A
SISTEM ELOR DE ECU AŢII NELI NI AR E
Acest capitol este dedicat exemplificării celor mai uzuale metode numerice de rezolvare
a ecuaţiilor neliniare cu o singură necunoscută şi a sistemelor de ecuaţii neliniare cu
coeficienţi reali. Mai precis, este vorba despre aflarea numerică a soluţiilor reale ale acestora.
Clasa ecuaţiilor neliniare include acele ecuaţii care nu sunt liniare, dintre care obiectul
acestui capitol îl formează ecuaţiile algebrice (rezultate din anularea unei funcţii polinomiale)
şi cele transcendente (ecuaţiile la care necunoscuta nu este separabilă, deci nu există o
formulă analitică de rezolvare), precum şi sistemele formate din astfel de ecuaţii.
Calea numerică este în multe cazuri singura cale de rezolvare a ecuaţiilor şi sistemelor
neliniare. Marea majoritate a acestor metode numerice sunt iterative, ceea ce înseamnă că ele
construiesc un şir de numere care trebuie să conveargă către soluţie. Alegerea primului număr
din şir (soluţia iniţială) este în general arbitrară şi ea influenţează viteza de convergenţă
(uneori, chiar caracterul de convergenţă/divergenţă al metodei este influenţat). Există variante
ale diferitelor metode care propun un anume mod de alegere a punctului de start al procesului
iterativ, pentru creşterea vitezei de convergenţă.
În principiu, intervalele de existenţă ale soluţiilor reale ale ecuaţiilor neliniare se pot
determina mai mult sau mai puţin precis, fie analitic (cu ajutorul metodelor analizei
matematice), fie numeric [POPO 92], [PĂVĂ 81]. Această operaţiune se numeşte separarea
soluţiilor; aflarea tuturor soluţiilor reale se reduce astfel la determinarea uneia singure.
f ( x) f (a) ⋅ f (b) < 0
f ( a ) ⋅ f (c ) < 0
f (a)
f (c ) ⋅ f ( d ) < 0
⋅⋅⋅
a+b
c=
f (d ) 2
(pas 1) b x
0
a
a+c
f (c ) d=
f (b) 2
(pas 2)
Una dintre cele mai simple metode de rezolvare a ecuaţiilor algebrice şi transcendente
este metoda bisecţiunilor succesive, folosită atunci când se ştie că o ecuaţie f(x)=0 are o
singură soluţie reală într-un anume interval.
84 Metode numerice utilizate în analiza sistemelor – aplicaţii
Principiul utilizat este simplu. Se ştie, deci, că funcţia f are variaţie de semn pe un
interval notat [a;b] (mai mult, se presupune că există o singură astfel de variaţie). Se notează
cu c abscisa mijlocului intervalului [a;b], c = ( a + b ) 2 . Dacă există variaţie de semn pe
intervalul [a;c], atunci căutarea se va efectua în continuare în acest interval; dacă nu, atunci
căutarea va continua în intervalul [c;b]. Se continuă cu înjumătăţirea noului interval, până
când lungimea intervalului curent de căutare devine mai mică decât o precizie impusă. Viteza
de convergenţă a metodei (timpul de obţinere a soluţiei) depinde de precizia impusă şi,
evident, de lungimea intervalului de căutare. Procesul iterativ de înjumătăţire a intervalului
este ilustrat în figura 3.1.
Mai jos este listat codul Matlab al unei funcţii de implementare a metodei bisecţiunilor
succesive, care primeşte ca argumente de intrare capetele intervalului iniţial, a şi b, şi precizia
dorită în determinarea soluţiei (prec), şi întoarce ca rezultat soluţia (x) şi numărul de iteraţii
care au fost necesare pentru obţinerea ei (nrit).
function [x,nrit]=bissuc(a,b,prec)
%METODA BISECŢIUNILOR SUCCESIVE, de rezolvare a unei ecuaţii algebrice sau
%transcendente, despre care se ştie că are o SINGURĂ SOLUŢIE într-un interval dat, [a;b]
if (f(a)*f(b))<=0,
if f(a)==0,
x=a;
elseif f(b)==0,
x=b;
else
nrit=0;
while abs(a-b)>prec,
c=(a+b)/2;
if f(c)==0,
x=c;
elseif f(a)*f(c)<0,
b=c;
else a=c;
end;
x=(a+b)/2;
nrit=nrit+1;
end;
end;
else
s=sprintf('In [%6.3f;%6.3f] nu e o singura solutie.',a,b);
disp(s);
x=20000;
nrit=0;
end;
Funcţia bissuc de mai sus apelează funcţia Matlab f, care implementează funcţia
matematică f, a cărei anulare a generat ecuaţia de rezolvat. De exemplu, dacă se rezolvă
ecuaţia e x − 5 x = 0 , atunci conţinutul funcţiei f este:
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 85
function [y]=f(x)
y=exp(x)-5*x;
Trasarea graficului funcţiei permite separarea celor două soluţii reale, x1* şi x*2
(figura 3.2).
y
f(x)=ex–5x
f(0)>0
1
x*2 x
0
f(1)<0 x1*
Fig. 3.2 Graficul unei funcţii a cărei anulare conduce la o ecuaţie transcendentă
nrit =
20
Observaţie:
Dacă se vrea rezolvarea unei alte ecuaţii folosind funcţia bissuc, atunci trebuie
modificat fie conţinutul funcţiei f, fie trebuie scrisă o altă funcţie, f1, care să fie apelată de
bissuc (trebuie modificat şi conţinutul funcţiei bissuc). O soluţie mai elegantă ar fi
adăugarea încă a unui argument de intrare funcţiei bissuc, de tip şir de caractere, care să
reprezinte numele funcţiei de apelat, de exemplu nume_f. Ca urmare, fiecare apel de tip
f(x) din bissuc va fi înlocuit de feval(nume_f,x).
O altă metodă iterativă este metoda Newton (metoda tangentei). În acest caz, soluţia este
limita şirul de iteraţii dat prin formula recurentă:
f ( xk )
(3.1) xk +1 = xk − , k=0,1,2…
f ' ( xk )
unde f(x)=0 este ecuaţia de rezolvat. Pentru convergenţa şirului de iteraţii (3.1) este suficient
ca f’(x)≠0 şi f”(x)≠0 într-o vecinătate a soluţiei, iar punctul de start, x0, să fie ales astfel încât
f ( x0 ) ⋅ f "( x0 ) > 0 . Evident, condiţia de oprire a iterării este ca modulul diferenţei dintre
două iteraţii succesive, xk +1 − xk , să fie mai mic decât o precizie impusă. Reprezentarea
grafică a procesului iterativ pentru cazul unei funcţii descrescătoare şi concave este
prezentată în figura 3.3, unde cele două cazuri evidenţiază influenţa alegerii punctului de
start, x0, asupra vitezei de convergenţă (în cazul b convergenţa este mai lentă decât în
cazul a).
86 Metode numerice utilizate în analiza sistemelor – aplicaţii
f ( x) f ( x)
− f '( x1 )
− f '( x0 ) f ( x1 )
− f '( x2 )
f ( x0 ) − f '( x1 )
f ( x2 )
f ( x1 )
f ( x2 ) x* = soluţia x x* x0 x
0 x1 x2
0 x0 x1 x2 f ( x0 )
= punct de start ales arbitrar − f '( x0 )
a b
Fig. 3.3 Construirea şirului de iteraţii la metoda Newton
x1=x0+2*prec;
nrit=0;
while abs(x1-x0)>prec,
x1=x0;
x0=x1-feval(nume_f,x1)/feval(nume_fd,x1);
nrit=nrit+1;
end;
x=x0;
iter =
4
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 87
Se observă că viteza de convergenţă este mai bună decât în cazul aplicării metodei
bisecţiunilor succesive (precizia impusă fiind aceeaşi, 10-6). Evident, apropierea sau
depărtarea punctului de start de soluţia ecuaţiei determină viteza de convergenţă. În cazul de
faţă, schimbarea punctului de start în x0=2 conduce la determinarea celeilalte soluţii reale a
ecuaţiei date:
x =
2.54264135777353
iter =
6
În cazul metodei aproximărilor succesive (metodei punctului fix) convergenţa nu este
garantată. Ecuaţia f(x)=0 se transformă succesiv după cum urmează:
f ( x) = 0 ⇔ f ( x) + x − x = 0 ⇔ ϕ( x) = x
1424 3
not .
= ϕ( x )
În concluzie, a determina soluţia ecuaţiei f(x)=0, notată cu x*, este echivalent cu a
determina punctul fix al funcţiei ϕ, unde ϕ(x)=f(x)+x. Este suficient ca:
pornind dintr-un punct arbitrar, x0, din intervalul [a;b]. Se foloseşte, deci, aceeaşi condiţie de
oprire ca la metoda Newton, şi anume ca xk +1 − xk să scadă sub o limită impusă; notând
ε
această limită cu ε, atunci eroarea absolută de calcul al soluţiei este . Figura
1 − max ϕ '( x)
x∈[ a;b]
3.4 arată cum această metodă poate fi convergentă (a) sau divergentă (b).
y y=x y ϕ ( x0 )
ϕ ( x0 ) ϕ ( x0 )
ϕ ( x1 ) y = ϕ ( x)
ϕ ( x1 )
x* x x
0 x0 0
x0 x *
x2 = ϕ ( x1 ) x1 = ϕ ( x0 ) x1 = ϕ ( x0 )
a b
Fig. 3.4 Metoda punctului fix: a – convergentă; b – divergentă
Funcţia Matlab de mai jos conţine implementarea metodei punctului fix (sau a
aproximărilor succesive).
function [x,nrit]=aproxsuc(nume_f,x0,prec)
%METODA APROXIMĂRILOR SUCCESIVE de determinare
%a soluţiei unei ecuaţii transcendente
x1=x0+2*prec;
88 Metode numerice utilizate în analiza sistemelor – aplicaţii
nrit=0;
while abs(x1-x0)>prec,
x1=x0;
x0=feval(nume_f,x1)+x1;
nrit=nrit+1;
end;
x=x0;
Metoda aproximărilor succesive este divergentă în cazul ecuaţiei e x − 5 x = 0 considerate
mai sus; se poate observa că derivata funcţiei ϕ( x) = f ( x) + x = e x − 4 x nu îndeplineşte
condiţia (3.2). Dar această condiţie nu este decât suficientă, adică neîndeplinirea ei nu implică
neapărat divergenţa metodei, după cum arată exemplul de mai jos.
1 1
Exempl ul 3.2: În cazul ecuaţiei f1 ( x) ≡ + +1− x = 0 , derivata funcţiei
2 x
x
1 1
ϕ( x) = f1 ( x) + x = + 1 nu îndeplineşte condiţia (3.2) pentru x>1, dar
+
x 2
x
metoda punctului fix este convergentă dacă iteraţiile pornesc, de exemplu,
din punctul x0=5.
Mai întâi se scrie funcţia f1:
function y=f1(x)
y=1/x^2+1/x+1-x;
Apelul:
[sol,it]=aproxsuc(’f1’,5,1e-4)
are ca rezultat:
sol =
1.83931782803487
it =
22
În acest caz, ultima metodă este uşor mai rapid convergentă decât metoda tangentei, după
cum se poate verifica apelând:
[sol1,it1]=met_tang(’f1’,’f1der’,5,1e-4)
cu răspunsul:
sol1 =
1.83931341409227
it1 =
26
Apelul de mai sus necesită mai întâi scrierea funcţiei Matlab f1der, care să conţină
expresia derivatei funcţiei f1(x):
function y=f1der(x)
y=-2/x^3-1/x^2-1;
De asemeni, se poate observa că şi între soluţiile furnizate de cele două metode există
diferenţe de ordinul 10-6.
Cele trei metode prezentate mai sus se pot aplica şi pentru determinarea soluţiilor reale
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 89
ale ecuaţiilor algebrice cu coeficienţi reali. Evident, metoda tangentei şi cea a aproximărilor
succesive vor fi preferate celei a bisecţiunilor succesive, întrucât aceasta din urmă necesită o
informaţie apriori asupra situării soluţiei.
Există metode destinate exclusiv ecuaţiilor algebrice; una dintre acestea este metoda
Bernoulli, care constituie o cale foarte simplă de determinare a soluţiei de modul maxim.
Dându-se ecuaţia algebrică de gradul n:
m=70;
for i=1:m,
y(i+n)=0;
for j=0:(n-1),
y(i+n)=y(i+n)-y(i+j)*a(n-j+1)/a(1);
%implementarea relaţiei (3.5)
end;
end;
x=y(m+n)/y(m+n-1);
s=sprintf('Solutia de modul maxim: %6.4f.',x);
disp(s);
Execuţia scriptului de mai sus are drept rezultat afişarea mesajului:
Solutia de modul maxim: -4.8453.
90 Metode numerice utilizate în analiza sistemelor – aplicaţii
(3.7) x k +1 = x k − J −1 ( x k ) ⋅ F ( x k ) , k=0,1,2,...,
144 42444 3
∆ xk
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 91
Se observă că relaţia (3.7) este o egalitate vectorială (care conţine n relaţii scalare) şi care
poate fi uşor implementată în Matlab, făcând uz de facilităţile de lucru cu matrici şi vectori.
Ea poate fi privită ca generalizarea formulei de iterare (3.1), a metodei Newton, la rezolvarea
ecuaţiilor neliniare vectoriale (cum mai pot fi privite sistemele de ecuaţii neliniare).
Cantitatea − J −1 ( x k ) ⋅ F ( x k ) ≡ ∆ x k are semnificaţia unui vector de corecţie aplicat la fiecare
pas iteraţiei curente, x k . Condiţia de oprire se generalizează şi ea, adică diferenţa dintre două
iteraţii succesive, x k +1 − x k , fiind un vector, se compară în normă cu o limită dorită (în
general, se poate folosi orice definiţie a normei vectoriale).
Funcţia newtraph, al cărei cod este listat mai jos, implementează metoda Newton-
Raphson de rezolvare a sistemelor de ecuaţii neliniare.
function [sol,iter]=newtraph(nume_F,nume_dF,x0,prec)
%metoda NEWTON-RAPHSON de rezolvare a SISTEMELOR PĂTRATICE DE
%ECUAŢII NELINIARE
%x0 este punct de start, ca vector coloană
n=length(x0);
dx=2*prec*ones(n,1);
x_c=x0;
iter=0;
while (norm(dx)>prec),
%funcţia norm, din biblioteca Matlab, calculează norma euclidiană a unui vector
J=feval(nume_dF,x_c);
dx=-inv(J)*feval(nume_F,x_c);
%funcţia inv, din biblioteca Matlab, calculează inversa unei matrice pătratice
x_c=x_c+dx;
iter=iter+1;
end;
sol=x_c;
Primele două argumente de intrare – nume_F şi nume_dF – sunt de tip şir de caractere,
reprezentând numele funcţiei Matlab care conţine expresia funcţiei F şi, respectiv, numele
funcţiei Matlab care conţine expresia jacobianului funcţiei F. Al treilea argument, x0, este
punctul de start (acesta este aici un vector coloană, a cărui dimensiune anunţă dimensiunea
sistemului pătratic care se rezolvă la un moment dat). Al patrulea argument, prec, este
92 Metode numerice utilizate în analiza sistemelor – aplicaţii
precizia dorită în calculul soluţiei. Analog celorlaltor funcţii scrise până acum, argumentele
de ieşire sunt două: soluţia, ca vector coloană (sol), şi numărul de iteraţii (iter).
T
care are soluţia x = [1 0 1] , dar nu este unica. Jacobianul asociat sistemului, calculat cu
formula (3.8), este:
2 x1 8 x2 2 x3
J ( x) = 6 6 x2 3x32
1 −5 −6 x3
T
Funcţiile Matlab care implementează funcţia vectorială F (⋅) = [ f1 (⋅) f 2 (⋅) f3 (⋅)] şi,
respectiv, jacobianul ei, J(x), sunt listate mai jos.
function y=F(x)
%descrierea unui sistem pătratic de ecuaţii neliniare, sub forma:
% f1(x1,x2,...xn)=0
% f2(x1,x2,...xn)=0
% ...
% fn(x1,x2,...xn)=0
%
%x şi y sunt vectori coloană de aceeaşi dimensiune:
% x=[x1 x2 ... xn] transpus, y=[f1(.) f2(.) ... fn(.)] transpus
iter =
8
Schimbarea cu foarte puţin a soluţiei iniţiale, x0, conduce atât la diminuarea vitezei de
convergenţă, cât şi la determinarea unei alte soluţii. Astfel, apelul:
[xstar,iter]=newtraph('F','dF',[2;0;0.2],1e-5)
produce răspunsul:
xstar =
1.0592
0.2977
0.7236
iter =
112
Mai jos sunt date două exemple din ingineria electrică, ilustrative pentru necesitatea
practică a rezolvării ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare.
Exempl ul 3.4: [FRAN 01] Se dă circuitul din figura 3.5 a, unde toţi tranzistorii au
caracteristici cunoscute, T1 şi T2 fiind presupuşi identici, V+=9V, V–=–9V,
iar restul elementelor de circuit sunt calculate astfel încât tensiunea de
ieşire, US, să fie nulă. Să se calculeze punctul static de funcţionare (p.s.f.) al
circuitului (curenţii de colector IC1 , IC2 şi IC3 ).
În figura 3.5 b a fost reluată schema circuitului cu notarea tuturor curenţilor şi a
tensiunilor care intervin în calculul p.s.f.
Din motive de simplificare a analizei, se poate considera în primă fază că baza lui T1 are
potenţial nul, astfel încât rezultă tensiuni bază-emitor egale pentru T1 şi T2, U BE1 = U BE2 .
Curentul de colector depinde exponenţial de tensiunea bază-emitor, conform relaţiei:
U BE
mV
(3.10) IC = ICS ⋅ e T ,
94 Metode numerice utilizate în analiza sistemelor – aplicaţii
unde VT=26 mV (tensiunea termică), iar ICS (curentul de saturaţie) şi m ∈ (1;2) caracterizează
fiecare tranzistor. Cum tranzistorii T1 şi T2 sunt presupuşi identici ( ICS1 = ICS2 , m1=m2), din
U BE1 = U BE2 rezultă mai departe că şi curenţii lor de colector sunt egali, IC1 = IC2 .
R1 R2 V+ R1 R2 V+
T3 I C1 I C2 T3
I B1 I B2 Is 0
T1 T2 T1 T2
A I I C3
Ui Us Ui IE E2 Us
U BE1 1 U BE 2 B
I3 I B1 I5
R4 R4
R3 R5 R3 R5
V− V−
a b
Fig. 3.5 Schema circuitului de la exemplul 3.4
Dar aproximaţia curenţilor de colector de mai sus este grosieră, deoarece tensiunea pe
baza lui T1 este nenulă (este mai negativă decît ieşirea). Deci curenţii de colector nu sunt
egali, IC1 ≠ IC2 , iar diferenţa dintre ei poate fi mare, din cauza dependenţei exponenţiale de
tensiunile bază-emitor.
Pentru calculul mai precis al p.s.f. se folosesc abrevierile „thK1” pentru teorema I a lui
Kirchhoff şi „thK2” pentru teorema a II-a a lui Kirchhoff. Se scriu ecuaţiile (figura 3.5 b):
(3.11) I E1 + I E2 = I3 (thK1 în nodul A)
−V − IC1
(3.16) IC3 = +
R5 β1
β are valori de ordinul sutelor şi se cunoaşte pentru un tranzistor dat; se poate, deci, scrie
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 95
−V − − U BE2
(3.17) IC1 + IC2 =
R3
14
4244 3
C
Membrul drept al relaţiei (3.17) conţine valori cunoscute pentru un circuit dat, deci
rezultă că suma curenţilor de colector ai celor doi tranzistori identici este egală cu o
constantă, C.
În continuare, se scrie relaţia (3.10) pentru cei doi tranzistori, se împart relaţiile şi se ţine
cont că ICS1 = ICS2 şi că m1=m2=m. Se obţine:
U BE 2 −U BE1
IC2
mVT
= e
IC1
În ultima relaţie se înlocuieşte relaţia (3.15) şi se ţine cont că IC1 = β1 ⋅ I B1 :
R
4 ⋅I
C
1β1mVT 1
4 243
(3.18) IC2 = IC1 ⋅ e K = I ⋅ e K ⋅ IC1
C1
−V − IC1
IC3 = +
R5 β1
(3.19) IC1 + IC2 = C
K ⋅ IC1
IC2 = IC1 ⋅ e
Sistemul (3.19) face parte din clasa sistemelor (pătratice) de ecuaţii neliniare, deci poate
fi rezolvat doar numeric; se poate aplica în acest scop metoda Newton-Raphson descrisă
în §3.2. O altă rezolvare se bazează pe observaţia că ultimele două ecuaţii ale sistemului
(3.19) alcătuiesc un sistem de sine stătător; una din aceste ecuaţii fiind liniară, permite
reducerea rezolvării acestui sistem la rezolvarea unei singure ecuaţii, şi anume:
K ⋅ IC1
(3.20) C − IC1 = IC1 ⋅ e ,
( )
Ecuaţia (3.20), pusă sub forma f IC1 = 0 , se poate rezolva prin metoda tangentei
(metoda Newton) prezentată în §3.1. Se observă că funcţia f nu este unică; în funcţie de
diferitele forme pe care le poate lua f, procesul iterativ converge mai repede sau mai lent. Se
exemplifică mai jos rezolvarea numerică a problemei pentru f IC1 = IC1 ⋅ 1 + e C1 − C ,
K ⋅I
( )
folosind funcţia Matlab met_tang, scrisă în §3.1.
96 Metode numerice utilizate în analiza sistemelor – aplicaţii
C=(-Vmin-UBE)/R3;
K=R4/(beta*m*VT);
y=x*(1+exp(K*x))-C;
function y=ICder(x)
global R4 beta m VT;
K=R4/(beta*m*VT);
y=exp(K*x)*(1+K*x)+1;
Se observă declararea ca variabile globale a parametrilor de circuit care intră în calculul
constantelor C şi K. Va trebui ca aceeaşi declaraţie să fie reluată în fereastra de comandă,
urmată de iniţializarea efectivă a respectivilor parametri şi apoi de apelul funcţiei met_tang.
De exemplu, pentru datele: V–=−9V, R3=5kΩ, R4=10kΩ, |UBE|=0.6V, β1=β2=β=100,
m=1.5, VT=26 mV(=0.026 V), şirul de comenzi este dat mai jos.
global Vmin R3 R4 UBE beta m VT;
Vmin=-9;R3=5;R4=10;UBE=0.6;beta=100;m=1.5;VT=0.026;
[ic1,iter]=met_tang(’IC’,’ICder’,0,1e-3)
Precizia de 10-3 este suficientă, ţinând cont că rezultatul va avea unitatea de măsură mA.
Se obţine:
ic1 =
0.4238
iter =
6
adică IC1 ≅ 0.42 mA . Rezultă şi celelalte valori ale curenţilor: IC2 ≅ 1.26 mA ,
IC3 ≅ 0.9 mA , de unde se vede că ipoteza IC1 ≠ IC2 se justifică. Se observă convergenţa
foarte rapidă a metodei în acest caz (6 iteraţii).
Exempl ul 3.5: Curentul printr-un circuit are următoarea formă de variaţie în timp:
i (t ) = 1 − w1e−α1t + w2e−α 2t ,
unde w1>0, w2>0, α1>0, α2>0. Să se determine momentul de timp la care curentul ia o
anumită valoare, I0. Aplicaţie numerică: w1=5, w2=2, α1=0.6, α2=0.2, I0=0.1 A.
Se doreşte, deci, aflarea acelui t pentru care este îndeplinită relaţia i(t)= I0, adică:
y=I0+w1*exp(-alfa1*t)-w2*exp(-alfa2*t)-1;
3. Rezolvarea numerică a ecuaţiilor neliniare şi a sistemelor de ecuaţii neliniare 97
function y=crt_der(t)
global w1 w2 alfa1 alfa2 I0;
y=-w1*alfa1*exp(-alfa1*t)+w2*alfa2*exp(-alfa2*t);
Secvenţa de comenzi necesară rezolvării ecuaţiei (3.21) este următoarea:
global w1 w2 alfa1 alfa2 I0;
w1=5;w2=2;alfa1=0.6;alfa2=0.2;I0=0.1;
[t,iter]=met_tang(’crt’,’crt_der’,0,1e-5)
şi generează rezultatul:
t =
1.1659
iter =
5
În concluzie, după aproximativ 1.16 unităţi de timp, curentul va avea valoarea de 0.1 A.
P r o b l e m e pr o p u s e
1. Să se rezolve numeric următoarele ecuaţii transcendente:
x π
1) th( x) = −2 x 2 + + 5 , 3) arctg( x) = cos x −
10 8
2) x ⋅ sin( x) + cos( x) = 0 , 4) sin( x) = ln x , x ≠ 0
utilizând:
a) metoda bisecţiunilor succesive, separând în prealabil soluţiile;
b) metoda Newton, pornind din puncte iniţiale convenabil alese.
4. a) Să se rezolve numeric sistemul de ecuaţii (3.19) din exemplul 3.4 prin metoda
Newton-Raphson.
b) Să se rezolve numeric ecuaţia (3.20) din exemplul 3.4 prin metoda punctului fix.
Indicaţie: Ecuaţia trebuie pusă sub o astfel de formă, încât metoda punctului fix să fie
convergentă.
3 ⋅ e−0.5 s
5. Se dă funcţia de variabila complexă s H ( s ) = . Se face schimbarea de
( 5s + 1) ⋅ ( s + 1)
variabilă s = j ⋅ ω , cu ω∈ ( −∞; +∞ ) şi j = −1 , şi se obţine numărul complex H ( j ⋅ ω) . Să
se determine intervalul variabilei ω pentru care modulul argumentului lui H ( j ⋅ ω) se
98 Metode numerice utilizate în analiza sistemelor – aplicaţii
2π 3π
situează în intervalul ; .
3 4
Indicaţie: Se calculează modulul argumentului lui H ( j ⋅ ω) ca fiind o funcţie de ω;
condiţia ca această funcţie să ia valori într-un interval dat conduce la un sistem de două
inecuaţii transcendente.
6. Să se calculeze p.s.f. pentru circuitul din figura 3.6. Se ştie că dependenţa curentului
prin diodă de tensiunea aplicată acesteia este modelată de relaţia:
R uD
E uD mVT
iD = iD (uD ) = I S ⋅ e − 1 ,
iD
D