Sunteți pe pagina 1din 16

Departamentul A.I.A.

Matematici Asistate de Calculator

Lucrarea de laborator 5 Rezolvarea ecuaiilor transcendente. Rezolvarea sistemelor de ecuaii algebrice neliniare
Cuprinsul lucrrii Consideraii pregtitoare: Ecuaii transcendente Sisteme de ecuaii algebrice neliniare Aplicaii n Matlab

1. Consideraii pregtitoare Ecuaii transcendente O ecuaie care nu poate fi adus n forma unei ecuaii polinomiale (ecuaie algebric) se numete ecuaie transcendent. Se consider o ecuaie de forma general: f(x)=0 cu f : I R R. Rezolvarea ecuaiei de mai sus nseamn gsirea zerourilor funciei f. Metodele de rezolvare numeric a ecuaiilor transcendente se mpart n dou categorii: a) metode de separare sau localizare a soluiilor ecuaiei, adic de izolare a unor subdomenii ale domeniului de definiie I, care s conin cte unul din zerourile funciei f (a se vedea irul lui Rolle); b) metode de determinare, cu o precizie a priori fixat, a unei soluii care a fost izolat n prealabil, pornind de la o valoare aproximativ a acesteia (de exemplu: metoda biseciei (numit i metoda njumtirii intervalului), metoda falsei poziii (cunoscut i sub denumirile de metoda coardei, metoda secantei sau metoda mpririi intervalului n pri proporionale); Sisteme de ecuaii algebrice neliniare Un sistem de ecuaii algebrice neliniare de ordinul n se poate aduce ntotdeauna la forma implicit:

Departamentul A.I.A.

Matematici Asistate de Calculator

f1 ( x1 , x 2 , K , x n ) = 0 f ( x , x , K , x ) = 0 2 1 2 n LLLLLLLL f n ( x1 , x 2 , K , x n ) = 0

unde funciile reale f1, f2, , fn, de variabile reale x1, x2, , xn, sunt continue pe domeniul de interes, iar cel puin una dintre ele este neliniar. Metodele numerice implicate n acest proces de soluionare se mpart n dou categorii: I. II. metode de separare a unei / unor soluii de interes; metode de determinare, cu o precizie fixat a priori, a unei soluii separate n prealabil. n cea de-a doua categorie se ncadreaz urmtoarele: a) metode bazate pe exprimarea explicit echivalent a ecuaiilor sistemului, numite metode de aproximaii succesive (de exemplu: metoda aproximaiilor succesive n versiunea Jacobi, metoda aproximaiilor succesive n versiunea GaussSeidel); b) metode care utilizeaz derivatele pariale ale funciilor fi, numite metode de tip Newton; c) metode de gradient (numite i metode de descretere sau de coborre).

2. Aplicaii n Matlab Rezolvarea numeric ecuaiilor transcendente n Matlab este implementat pentru ecuaii de forma f(x)=0 o variant a metodei biseciei prin funcia fzero, cu sintaxa urmtoare (n forma cea mai simpl): x = fzero(funct,x0) unde funct reprezint numele dat de utilizator funciei f(x) a crei expresie poate fi n particular transcendent, x0 este o aproximare iniial a soluiei ecuaiei, iar x reprezint soluia de aproximare a ecuaiei dat de funcia Matlab. Sintaxa funciei fzero poate fi complicat, prin introducerea unor opiuni. Una dintre opiuni o constituie stabilirea preciziei de calcul a soluiei prin intermediul parametrului TolX al funciei optimset. Valoarea implicit a preciziei este egal cu constanta predefinit eps=2-52. n afar de valoarea soluiei, funcia fzero mai poate returna alte trei elemente, i anume: valoarea funciei funct n x o valoare de control (exitflag), care este strict pozitiv, n cazul n care a fost gsit o soluie, sau strict negativ, n caz contrar

Departamentul A.I.A.

Matematici Asistate de Calculator

o structur (output) care conine urmtoarele informaii: numrul de iteraii (iterations) i numrul de evaluri (funcCount) efectuate, precum i algoritmii utilizai pentru determinarea soluiei (algorithm) (fzero utilizeaz o combinaie a metodelor biseciei, secantei i interpolrii cubice inverse). n cele ce urmeaz este ilustrat aplicarea funciei fzero. Exemplul 1: S se rezolve ecuaia

ex sin(x) 3 = 0 utiliznd funcia fzero. Soluie: Rezolvarea unei ecuaii transcendente presupune un studiu prealabil al ecuaiei respective n vederea localizrii rdcinilor (a tuturor sau a celor din domeniul de interes). Prin aceasta, se reduce riscul ca aproximaia iniial s duc la un rezultat eronat sau chiar s nu se obin nici un rezultat (metoda nefiind convergent pentru aceast valoare de pornire). Una dintre metodele de studiu al ecuaiilor este metoda grafo-analitic. Aceast metod este bazat pe rescrierea ecuaiei sub forma g(x)=h(x) i pe folosirea proprietilor de monotonie i continuitate ale funciilor g i h. Astfel, ecuaia din exemplu este mai uor de studiat dac o rescriem sub forma: ex = sin(x) + 3 Se definesc dou funcii care reprezint cei doi membrii ai ecuaiei: function f=ec1(x); f=exp(x); function f=ec2(x); f=sin(pi*x)+3; Pentru a reprezenta grafic cele dou funcii, n vederea localizrii punctului de intersecie, trebuiesc determinate limitele intervalelor de reprezentare, att pe axa x ct i pe axa y. Acestea se deduc din proprietile celor dou funcii. Astfel, funcia ec1 este definit pe R, este strict cresctoare, continu, codomeniul (imaginea) funciei este intervalul (0,). Funcia ec2 este definit pe R, este periodic de perioad 2, continu, mrginit, codomeniul funciei este intervalul [2,4]. Din proprietile menionate deducem c cele dou funcii au sigur cel puin un punct de intersecie al graficelor, avnd coordonata y n intervalul [2,4]. Limitele reprezentrii grafice pe axa y trebuie s cuprind acest interval, iar limitele pe axa x trebuie s cuprind intervalul ec1-1([2,4]) (de exemplu: ec1(0)=1<2, 4<ec1(3) ). Construim graficele:

Departamentul A.I.A.

Matematici Asistate de Calculator

% domeniul functiilor x=0:0.1:3; % graficele


plot(x,ec1(x),'b',x,ec2(x),'r:')

% stabilirea limitelor exelor axis([0 3 1 5])

Se observ din grafic c exist un singur punct de intersecie n vecintatea lui (1,2.75). Coordonatele punctului de intersecie pot fi citite de pe grafic cu funcia Matlab "ginput": [x,y]=ginput sau [xp,yp]=ginput(1) Dup citirea coordonatelor punctului cu mouse-ul de pe grafic (primul mod de citire necesit apsarea tastei Enter), se obine: xp = 1.0541 yp = 2.8304 n final, se definete ecuaia sub forma iniial (f(x)=0) i se aplic funcia fzero n linia de comand, cu valoarea iniial de aproximare x=1.0541: function f=ec(x) f=exp(x)-sin(pi*x)-3; sol=fzero(ec,xp) Se obine rspunsul: sol = 1.0476 S-a obinut, deci, soluia aproximativ: x = 1.0476. Exemplul 2: S se determine o soluie n jurul valorii 0.5 pentru ecuaia: f(x) = 0, unde f(x) = 2tgx 10x + 3. Totodat s se determine i numrul de iteraii efectuate. Soluie: Se definete funcia ec (fiierul ec.m), care reprezint funcia f(x): function f=ec(x) f=2*tan(x)-10*x+3; Apoi, se apeleaz funcia fzero n linia de comad: [x,fval,exitflag,output]=fzero('ec',0.5) obinnd rspunsul: x = 0.3798 fval = 0
4

Departamentul A.I.A.

Matematici Asistate de Calculator

exitflag = 1 output = iterations: 20 funcCount: 20 algorithm: 'bisection, interpolation' S-a obinut soluia x=0.3798, n care funcia f are valoarea 0, numrul de iteraii efectuate fiind 20. Pentru determinarea soluiei s-a utilizat metoda biseciei combinat cu un algoritm de interpolare. Pentru a schimba precizia de calcul, de exemplu la valoarea 0.01 (mai mare dect valoarea implicit), se execut urmtoarea secven de instruciuni Matlab: options=optimset('TolX',0.01); [x,fval,exitflag,output]=fzero('ec',0.5,options) obinnd: x = 0.3813 fval = -0.0114 exitflag = 1 output = iterations: 18 funcCount: 18 algorithm: 'bisection, interpolation' S-a obinut soluia x=0.3813 cu o precizie de 0.01, numrul de iteraii efectuate fiind 18, evident mai mic dect n cazul preciziei implicite. n continuare va fi definit o funcie Matlab, denumit newton (fiierul Matlab newton.m) pentru implementarea algoritmului versiunii clasice a metodei lui Newton de rezolvare a ecuaiilor de forma f(x)=0: function [sol,iter]=newton(func,dfunc,x0,eps) % functie pentru rezolvarea ecuatiei f(x)=0 cu % versiunea clasica a metodei Newton % parametri: % func - functie definita de utilizator f(x) % dfunc - functie derivata definita de utilizator df(x)/dx % x0 - aproximatie initiala a solutiei ecuatiei % eps - precizia de aproximare % sol - solutia ecuatiei % iter - numarul de iteratii rezultat % % initializari: iter=0; x=x0; aa=feval(func,x)/feval(dfunc,x); % iteratii: while abs(aa)>eps, x1=x-aa; iter=iter+1;
5

Departamentul A.I.A.

Matematici Asistate de Calculator

x=x1; aa=feval(func,x)/feval(dfunc,x); end; % solutia: sol=x; Algoritmul implementat presupune c n toate punctele irului de iteraii valoarea derivatei este nenul. Aplicarea funciei newton este exemplificat n continuare. Exemplul 3: S se gseasc o soluie aproximativ din intervalul (1, 1) a ecuaiei:

y sin( y ) 0.5 = 0 4
folosind programul anterior. Soluie: Rezolvarea ncepe cu definirea funciile Matlab ec3 (fiierul ec3.m) pentru membrul stng al ecuaiei i dec3 (fiierul dec3.m) pentru derivata membrului stng al ecuaiei: function f=ec3(x) f=(x/4)^2-sin(x)-0.5 function f=dec3(x); f=x/2-cos(x); Urmeaz aplicarea funciei Matlab newton prezentat anterior: [sol,iter]=newton('ec3','dec3',0.5,0.001) Se obine: sol = -0.5059 iter = 5 Prin urmare, s-a obinut soluia aproximativ x = 0.5059, dup 5 iteraii. Rezolvarea simbolic a ecuaiilor Pentru rezolvarea simbolic a ecuaiilor, Matlab pune la dispoziia utilizatorului funcia solve din toolbox-ul Symbolic Math. Se exemplific utilizarea acestei funcii pe urmtoarele ecuaii: Exemplul 4: S se rezolve ecuaiile: a) b) c)

ax b = e a , n raport cu necunoscuta x / b; ax + b
ax 2 + 2b bx 2a
2

b , n raport cu necunoscuta x; a

a cos(u + v) + b sin(u v) = 0 , n raport cu necunoscuta u / v.

Soluie: Etapele de rezolvare sunt urmtoarele:


6

Departamentul A.I.A.

Matematici Asistate de Calculator

a) % definirea obiectelor simbolice syms x a b; % definirea membrului stang al ecuatiei scrisa sub f(x)=0 f=(a*x-b)/(a*x+b)-exp(-a); % rezolvarea ecuatiei, se face implicit in raport cu x solx=solve(f) % rezolvarea ecuatiei in raport cu b solb=solve(f,b) Se obin rezultatele: solx = -b*(1+exp(-a))/a/(-1+exp(-a)) solb = -a*x*(-1+exp(-a))/(1+exp(-a)) Discuii: Ecuaia n necunoscuta x prezint urmtoarele puncte de discuie: (I.x) a=0 i b=0 nu este un caz posibil (numitorul ecuaiei fiind 0); (II.x) a=0, b0 duc la o ecuaie imposibil 1=1;

forma

(III.x) a0, b=0 nu este un caz posibil (ecuaia devine: 1=e-a, ceea ce contrazice a0); (IV.x) trebuie verificat dac pentru orice a0 i orice b0, soluia x ndeplinete condiia ca numitorul ax+b0. Se calculeaz: ax+b=

2b care evident este nenul. 1 e a

n cazul necunoscutei b, exist urmtoarele cazuri: (I.b) numitorul 1+e-a este nenul pentru orice valoare a lui a (e-a> 0 => 1+e-a>1); (II.b) a=0 sau x=0 duce la o ecuaie imposibil 1=e-a, adic 1>0, ceea ce este fals; (III.b) trebuie verificat dac, pentru a0 i x0, soluia b obinut nu anuleaz numitorul ecuaiei, adic ax+b0. Se calculeaz: ax+b=

2a x , care este nenul pentru orice a0 i x0. 1 + e a b) % definirea obiectelor simbolice syms x a b; % definirea ecuatiei sub forma f(x)=0 f=(a*x^2+2*b)/(b*x^2-2*a)-b/a; % rezolvarea ecuatiei solx=solve(f) solx = [ 2/(a^2-b^2)*(-(a^2-b^2)*a*b)^(1/2)] [ -2/(a^2-b^2)*(-(a^2-b^2)*a*b)^(1/2)]

Discuii: (I) a nu poate fi zero;

Departamentul A.I.A.

Matematici Asistate de Calculator

(II) pentru a=b se obine o ecuaie imposibil:

4 = 0; x 2
2

(III) pentru a=-b se obine o ecuaie imposibil:

4 = 0; x +2
2

(IV) dac expresia de sub radical, (-a2+b2)ab, este strict negativ, cele dou soluii ale ecuaiei sunt numere complexe; (V) n cazul b=0 ecuaia are o singur soluie, x=0. (VI) lsm ca exerciiu discuia privind numitorul bx2-2a. c) % definirea obiectelor simbolice syms a b u v; % definirea ecuatiei sub forma f(x)=0 f=a*cos(u+v)+b*sin(u-v); % rezolvarea ecuatiei in raport cu u solu=solve(f,u) % rezolvarea ecuatiei in raport cu v solv=solve(f,v) solu = atan((a-b*tan(v))/(a*tan(v)-b)) solv = atan((a*cos(u)+b*sin(u))/(a*sin(u)+b*cos(u))) Discuii: Cazul ecuaiei n necunoscuta u: (I.u) a=0 i b=0; ecuaia devine 0=0, deci soluia este uR; (II.u) a0 i b=0; ecuaia devine acos(u+v)=0, care are soluia u=v+(2k+1)(/2), kZ; (III.u) a=0 i b0; ecuaia devine bsin(u-v)=0, care are soluia u=v+k, kZ; (IV.u) a0 i b0; apar urmtoarele cazuri: (1) cos(v)=0; ecuaia devine acos(u)+bsin(u)=0, care are soluia: u=-arctg(a/b)+k, kZ; (2) atg(v)-b=0; ecuaia devine (a2-b2) cos(u)=0; astfel: (2.1) dac a2=b2, atunci soluia este uR; (2.2) dac a2b2, soluia este u=(2k+1)(/2), kZ; (3) n rest, soluia este (a se vedea rezultatul n Matlab): u=arctg((a-btg(v))/(atg(v)-b))+ k, kZ. Cazul ecuaiei n necunoscuta v: (I.v) a=0 i b=0; ecuaia devine 0=0, deci soluia este vR; (II.v) a0 i b=0; ecuaia devine acos(u+v)=0, care are soluia v=-u+(2k+1)(/2), kZ; (III.v) a=0 i b0; ecuaia devine bsin(u-v)=0, care are soluia v=u-k, kZ; (IV.v) a0 i b0; apar urmtoarele cazuri:
8

Departamentul A.I.A.

Matematici Asistate de Calculator

(1) asin(u)+bcos(u)=0; ecuaia devine (a2-b2) cos(v)=0; astfel: (1.1) dac a2=b2, atunci soluia este vR; (1.2) dac a2b2, soluia este v=(2k+1)(/2), kZ; (2) n rest, soluia este (a se vedea rezultatul n Matlab): v= arctg((acos(u)+bsin(u))/(asin(u)+bcos(u)))+ k, kZ. Rezolvarea sistemelor de ecuaii neliniare Pentru rezolvarea numeric a sistemelor de ecuaii neliniare sunt disponibile funcii Matlab n toolbox-uri specifice diverselor aplicaii. Spre exemplu, n Optimization Toolbox este disponibil funcia fsolve, care implementeaz algoritimi bazai pe metoda celor mai mici ptrate. Prezentm cteva dintre sintaxele funciei fsolve: x=fsolve(fun,x0) x=fsolve(fun,x0,options) [x,fval]=fsolve(...) [x,fval,exitflag,output]=fsolve(...) n care: fun reprezint numele unei funcii definite de utilizator, corespunztoare membrului stng al sistemului de ecuaii neliniare (forma canonic Matlab); x0 este un vector care conine aproximaiile iniiale pentru toate necunoscutele; options este o structur returnat de funcia optimset, funcie apelat n scopul setrii anumitor parametri, cum sunt, de exemplu, precizia de calcul a soluiei, numrul maxim de iteraii, numrul maxim de evaluri de funcii etc; fval este valoarea funciei fun n soluia obinut x; exitflag este o valoare de control, avnd diverse semnificaii, cum ar fi, de exemplu: 1 dac algoritmul a convers la o soluie, 2 schimbrile n x (de la o iteraie la alta) sunt mai mici dect tolerana specificat, 0 numrul de iteraii a depit numrul maxim prestabilit de iteraii sau numrul de evaluri ale funciei a depit numrul maxim prestabilit de evaluri, -2 algoritmul pare s convearg spre un punct care nu este soluie; output este o structur care conine diverse informaii, precum: iterations numrul de iteraii efectuate, funcCount numrul de evaluri ale funciei, algorithm algortimul utilizat (de exemplu: GaussNewton, Levenberg-Marquardt care se bazeaz pe metoda celor mai mici ptrate). Pentru rezolvarea pe cale simbolic a sistemelor neliniare, se utilizeaz funcia solve din Symbolic Math Toolbox, avnd sintaxele: g=solve(eq1,eq2,...,eqn) g=solve(eq1,eq2,...,eqn,var1,var2,...,varn) unde: eqi reprezint membrul stng al ecuaiei i a sistemului;
9

Departamentul A.I.A.

Matematici Asistate de Calculator

var1,var2,...,varn reprezint necunoscutele sistemului; g este o structur, avnd ca membri vectori de valori; fiecare vector corespunde unei necunoscute i conine valorile obinute pentru acea necunoscut n cazul fiecrei soluii gsite. Vom exemplifica, n continuare, rezolvarea ctorva sisteme neliniare, folosind cele dou funcii Matlab menionate mai sus. Exemplul 5: S se determine soluia urmtorului sistem de ecuaii neliniare:

x y + z + 3 = 0 x y+2=0 , z y z + x 6 = 0
n vecintatea punctului x0 = 1, y0 = 0, z0 = 1. Soluie: A. Se parcurg urmtoarele etape: Se scrie sistemul de ecuaii neliniare sub forma canonic din Matlab: function f=sistnelin1(x) % x,y,z sunt reprezentate de x(1), x(2), x(3) f(1)=x(1)*x(2)+x(3)+3; f(2)=x(1)/x(3)-x(2)+2; f(3)=x(2)*x(3)+x(1)-6; Se definete vectorul valorilor de aproximare iniial a soluiei: x0=[1;0;-1]; Se rezolv sistemul: sol=fsolve('sistnelin1',x0,optimset('fsolve')) Se obine soluia: Optimization terminated successfully: First-order optimality is less than options.TolFun. sol = 6.0000 -0.0000 -3.0000 Deci, soluia este: x=6, y=0, z=-3 B. Dac se dorete setarea anumitor parametri la alte valori dect cele implicite, se apeleaz funcia optimset, nainte de a rezolva sistemul: options=optimset('TolX',10^(-12),'TolFun',10^(-9)); apoi se rezolv sistemul: [so1m,feval,exitflag,output]=fsolve('sistnelin1',x0,options) Se obine: Optimization terminated successfully: First-order optimality is less than options.TolFun. so1m = 6.0000 -0.0000 -3.0000 feval = 1.0e-011 * 0.1147 -0.1851 -0.1671
10

Departamentul A.I.A.

Matematici Asistate de Calculator

exitflag = 1 output = iterations: 9 funcCount: 36 algorithm: 'trust-region dogleg' firstorderopt: 1.3746e-011 Interpretare: Metoda a convers ctre o soluie; soluia s-a obinut cu o eroare a funciei (f) de ordinul 10-11, dup 9 iteraii, n care s-au efectuat 36 de evaluri ale funciei; algoritmul utilizat este algoritmul trust-region dogleg (metoda este o mbuntire a metodei lui Newton, pentru cazul n care aproximarea iniial este mai departe de soluie, respectiv cazul n care Jacobianul sistemului este singular). Exemplul 6: i) S se determine un cvadruplu (a, b, c, d) care satisface simultan condiiile: a) a, b, c, d sunt n progresie aritmetic; b) a 2, b 6, c 7, d 8 sunt n progresie geometric. ii) S se determine toate tripletele (a,b,c) care ndeplinesc simultan condiiile: a) a,b,c sunt n progresie arimetic; b) suma lor este 30; c) a 5, b 4, c sunt n progresie geometric. Soluie: i) Cele dou condiii sunt echivalente cu urmtorul sistem de ecuaii neliniare:

a + c = 2 b b + d = 2 c 2 (a 2) (c 7 ) = (b 6 ) (b 6 ) (d 8) = (c 7 )2
Se reprezint sistemul de excuaii neliniare: function f=sistnelin2(v) a=v(1); b=v(2); c=v(3); d=v(4); f=[ a+c-2*b; b+d-2*c; (a-2)*(c-7)-(b-6)^2; (b-6)*(d-8)-(c-7)^2]; Deoarece se cere determinarea unei soluii, se alege un set de valori de pornire (de exmplu, se pornete de la o progesie aritmetic, fiind astfel satisfcute primele dou ecuaii ale sistemului): v0=[1;2;3;4]; options=optimset('TolX',10^(-30),'TolFun',10^(-30)); v=fsolve('sistnelin2',v0,options) Se obine soluia: Optimization terminated successfully: Relative function value changing by max(options.TolFun^2,eps) and sum-of-squares values is less than sqrt(options.TolFun) v = 4.9999 6.0000 7.0000 8.0000

less than of function

11

Departamentul A.I.A.

Matematici Asistate de Calculator

Prin urmare, soluia este: a=4.999 (prin verificare, se obine valoare exact a=5), b=6, c=7, d=8. ii) Cele trei condiii duc la sistemul neliniar:

a + c = 2b a + b + c = 30 2 (a 5)c = (b 4)

cu necunoscutele a, b i c

Pentru a gsi toate soluiile sistemului se poate alege una din urmtoarele dou modaliti de rezolvare: 1) rezolvarea pe cale simbolic, care prezint inconvenientul c destul de puine sisteme de ecuaii neliniare pot fi rezolvate astfel; avantajul este c nu trebuie indicat nici o valoare de pornire, i se obin toate soluiile exacte; 2) rezolvarea pe cale numeric presupune studiul sistemului n vederea localizrii soluiilor, ceea ce de multe ori este foarte complicat. Se poate aplica metoda tabelrii funciilor, cu scopul gsirii unor domenii suficent de mici pe care toate funciile i schimb semnul. Vom ncerca rezolvarea sistemului pe cale simbolic: sol=solve('a+c-2*b','a+b+c-30','(a-5)*c-(b-4)^2') a=sol.a b=sol.b c=sol.c sol = a: [2x1 sym] b: [2x1 sym] c: [2x1 sym] a = [ 17] [ 8] b = [ 10] [ 10] c = [ 3] [ 12] S-au obinut 2 soluii: (17,10,3), respectiv (8,10,12). Exemplul 7: S se rezolve urmtoarele sisteme de ecuaii neliniare: a)
2 2 2 2 x + y = a 2 2 x y = b

n raport cu necunoscutele x i y;

b)

m + p 2n = 0 nq p 2 = 0 m + q 37 = 0 n + p 36 = 0

n raport cu necunoscutele m, n, p i q;

12

Departamentul A.I.A.

Matematici Asistate de Calculator

Soluie: a) Este vorba despre un sistem cu parametru. Prezentm dou metode de rezolvare a acestui sistem: i) Rezolvarea sistemului pe cale simbolic n Matlab: syms a b; s=solve('2*(x^2+y^2)-a^2','x^2-y^2-b','x,y'); x=s.x y=s.y x = [ 1/2*(2*b+a^2)^(1/2)] [ 1/2*(2*b+a^2)^(1/2)] [ -1/2*(2*b+a^2)^(1/2)] [ -1/2*(2*b+a^2)^(1/2)] y = [ 1/2*(-2*b+a^2)^(1/2)] [ -1/2*(-2*b+a^2)^(1/2)] [ 1/2*(-2*b+a^2)^(1/2)] [ -1/2*(-2*b+a^2)^(1/2)] Sistemul are 4 soluii: (
a2 + 2b a2 2b , ), 2 2

a2 + 2b a2 2b , ), 2 2

a2 + 2b a2 + 2b a2 2b a2 2b ( , ), ( , ). 2 2 2 2

Impunnd condiia ca soluiile s fie reale, rezult c parametrii a i b trebuie s satisfac urmtoarele relaii: -a2 2b a2. ii) Rezolvarea sistemului utiliznd geometria analitic i Matlab: Prima ecuaie a sistemului reprezint ecuaia unui cerc cu centrul n originea a 2 . Cea de a doua ecuaie a sistemului sistemului de coordonate, (0,0), i de raz 2 reprezint o hiperbol echilateral. Pentru fiecare caz n parte, se reprezint grafic cele dou figuri geometrice, utiliznd Matlab: ii.I) Cazul a=0. Cercul degenereaz la punctul de origine al sistemului de coordonate. Astfel:

dac b=0, i hiperbola degenereaz la originea sistemului de coordonate. Soluia x=0, y=0, este unic. dac b0, hiperbola nu conine originea sistemului de coordonate, deci sistemul nu are soluie.

ii.II) Cazul a0. ii.1) Cazul b=0 (fig.1). Ecuaia hiperbolei devine: x2-y2=0. Hiperbola degenereaz n bisectoarele cadranelor sistemului de coordonate (y = x i y = -x). Cercul a a a a a a intersecteaz cele dou bisectoare n 4 puncte: (x,y) { ( , ) , ( ,- ) , (- , ) , 2 2 2 2 2 2 a a (- ,- ) }. 2 2

13

Departamentul A.I.A.

Matematici Asistate de Calculator

x=-5:0.1:5; ypb=x; yadb=-x; r=sqrt(3^2/2); fi=-2*pi:pi/60:2*pi; xc=r*cos(fi); yc=r*sin(fi); plot(x,ypb,'b',x,yadb,'b') axis('equal') hold on plot(xc,yc,'r--') grid hold off

b=2; yp=-5:0.1:5; xpp=sqrt(yp.^2+b); xpn=-xpp; r1=1; r2=sqrt(b); r3=sqrt(3^2/2); fi=-2*pi:pi/60:2*pi; xc1=r1*cos(fi); yc1=r1*sin(fi); xc2=r2*cos(fi); yc2=r2*sin(fi); xc3=r3*cos(fi); yc3=r3*sin(fi); plot(xpp,yp,'b',xpn,yp,'b') axis('equal') hold on plot(xc1,yc1,'r--', xc2,yc2,'r--',xc3,yc3, 'r--') grid hold off

b=2; xp=-5:0.1:5; ypp=sqrt(yp.^2+b); ypn=-xpp; r1=1; r2=sqrt(b); r3=sqrt(3^2/2); fi=-2*pi:pi/60:2*pi; xc1=r1*cos(fi); yc1=r1*sin(fi); xc2=r2*cos(fi); yc2=r2*sin(fi); xc3=r3*cos(fi); yc3=r3*sin(fi); plot(xp,ypp,'b',xp,ypn,'b') axis('equal') hold on plot(xc1,yc1,'r--', xc2,yc2,'r--',xc3,yc3, 'r--') grid hold off

Fig.1

Fig.2

Fig.3

ii.2) Cazul b>0 (fig.2). Vrfurile hiperbolei sunt punctele A1( b ,0), A2(- b ,0). Se disting urmtoarele trei subcazuri: ii.2.1) Cazul urmare x.

a 2 < b . Cercul i hiperbola nu se intersecteaz, prin 2

a 2 = b . Cercul i hiperbola sunt tangente n vrfurile 2 hiperbolei. Prin urmare, n acest caz sunt dou soluii, corespunztor celor dou vrfuri, ( b ,0) i (- b ,0).
ii.2.2) Cazul ii.2.3) puncte: ( Cazul (

a 2 > b . Cercul i hiperbola se intersecteaz n 4 2


a2 + 2b a2 2b , ), 2 2

a2 + 2b a2 2b , ), 2 2

a2 + 2b a2 + 2b a2 2b a2 2b , ), ( , ). 2 2 2 2

14

Departamentul A.I.A.

Matematici Asistate de Calculator

ii.3) Cazul b<0 (fig.3). A doua ecuaie reprezint ecuaia hiperbolei conjugate celei de la punctul ii.2). Vrfurile hiperbolei conjugate sunt punctele B1(0, b ) i B2(0,- b ). Se disting urmtoarele trei subcazuri:

a 2 < b . Cercul i hiperbola conjugat nu se 2 intersecteaz, prin urmare x.


ii.3.1) Cazul

a 2 = b . Cercul i hiperbola conjugat sunt tangente 2 n vrfurile hiperbolei. Prin urmare, n acest caz sunt dou soluii, corespunztor celor dou vrfuri, (0, b ) i (0,- b ).
ii.3.2) Cazul

a 2 > b. 2 intersecteaz n 4 puncte:


ii.3.3) Cazul

Cercul

hiperbola

conjugat

se

a2 + 2b a2 2b a2 + 2b a2 2b , ), ( , ), ( 2 2 2 2 a2 + 2b a2 + 2b a2 2b a2 2b , ), ( , ). ( 2 2 2 2

b) Rezolvm sistemul pe calea simbolic: syms m n p q; ec1=m+p-2*n; ec2=n*q-p^2; ec3=m+q-37; ec4=n+p-36; S=solve(ec1,ec2,ec3,ec4,m,n,p,qa); m=S.m n=S.n p=S.p q=S.q m = [ 99/4] [ 12] n = [ 81/4] [ 16] p = [ 63/4] [ 20] q = [ 49/4] [ 25] S-au obinut soluiile: (m,n,p q){(99/4, 81/4, 63/4, 49/4) , (12,16,20,25)}.

Probleme propuse 5.1. S se determine soluia ecuaiei transcendente: x2-3=sin(x)+ x pornind de la aproximaia iniial x=2. 5.2. Cte soluii are ecuaia de la problema 5.1.? S se determine toate soluiile ecuaiei.

15

Departamentul A.I.A.

Matematici Asistate de Calculator

5.3. Cte soluii are ecuaia de mai jos? S se determine minimum trei soluii nenule de valori absolute distincte: tg(x)=x. 5.4. S se rezolve ecuaiile: a) ax3-bx2+ab=0, n necunoscuta x / n necunoscuta a / n necunoscuta b; b) 2xa2+

b (a + 1) , n necunoscuta x / n necunoscuta a / n necunoscuta b. x

i s se discute rezultatele obinute (de exemplu, cazul a=0 la punctul a) etc.). 5.5. S se determine o soluie a sistemului:
sin( x + y ) 1.1 x = 0.2 2 2 1.1 x + 2 y = 1 pornind de la aproximaia iniial x=1, y=1. 5.6. S se determine toate soluiile sistemului: x 2 + y 2 = 4 x y = 1 5.7. S se rezolve sistemul nedeterminat: x 2 + y a z = 0 x =a z n necunoscutele x, y, z. 5.8. S se determine numerele a,b,c care ndeplinesc simultan urmtoarele condiii: a) a, b, c sunt n progresie geometric; b) a, b+4, c sunt n progresie aritmetic; c) a, b+4, c+32 sunt n progresie geometric. 5.9. S se determine soluia / soluiile (toate, dac este posibil, sau doar o parte) urmtoarelor ecuaii: a) b)
x ( x 2 + 1) = x; x2 1 e
x2

x2 = ln(1 x + ) . 3

16

S-ar putea să vă placă și