Sunteți pe pagina 1din 9

LUCRAREA DE LABORATOR nr.

2
REZOLVAREA ECUATIILOR ALGEBRICE SI TRANSCENDENTE
Scopul lucrarii: insuşirea practică a metodelor numerice de rezolvare a ecuaţiilor cu o
necunoscută şi realizarea lor în mediul de programare MatLab

1. Considerari teoretice si exemplu de rezolvare


Se considera ecuatia continua cu o necunoscuta
f ( x)  0 (1)
si se cere de gasit radacinile ei, adica acele valori ale argumentului x , care fiind substituite
in partea stanga transfroma ecuatia (1) intr-o identitate.

1.1.Clasificarea ecuaţiilor cu o necunoscută:


a) ecuatii algebrice - reprezintă un polinom de ordinul n
a0 x n  a1 x n1  a2 x n2  ...  a1 x  an  0 . (3)
De exemplu ecauţia
f ( x)  x 3  x 2  17  0 (4)
este o ecuaţie algebrică de ordinal trei.

b) ecuatii transcendente - reprezintă ecuatii diferite de cele algebrice (combinatie de functii


exponentiale, trigonomentrice, logaritmitce etc)
x 2  tgx  7 ln 2 ( x  2) . (5)

1.2. Etapele de rezolvare a ecuaţiilor cu o necunoscută


Prin metode numerice ccuatiile cu o necunoscuta (1) se rezolva in doua etape:
1.2.1. Etapa separării intervalelor care contin cel putin câte o rădăcină
Intervalele pot fi separate prin mai multe metode. Metoda tabelului de semne ale functiei
constă în formarea unui table care pentru un şir de valori ale argumentului conţine numai
semnul corespunzător al functiei. De exemplu, pentru ecuatia (4) tabelul de semne ale
funcţiei pentru valorile considerate arbitrar ale argumentului x

Tabelul de semne al funcţiei f (x) Tabelul 1.


x 3 2 1 0 1 2 3
sign(f(x)) - - - - - - +

Asadar, la capetele inrevalul [2, 3] functia f ( x)  x 3  2 x 2  17 are semne opuse si,


deci, in acest interval ecuatiei (4) conţine cel putin o radacină.
O altă metodă de localizare ale rădăcimilor ecuaţiei este cea grafică, mai ales prin
utilizarea mediul de programare cu posibilităti grafice avansate. De exemplu, în programul
MatLab gr_yfx.m este generat vectorul x în intervalul [x0, xf] cu pasul h, apelează fişierul-
funcţie yfx.m unde este programată ecuaţia în cauză şi construieşte graficul funcţiei. Din
grafic se localizează un interval mai mic care conţine rădăcina ecuaţiei.

gr_yfx.m yfx.m
% Metoda Grafica function yc=yfx(xc);
% de localizare a radacinii % Programarea functiei yc=f(xc)
% a ecuatiei cu o necunoscuta
yc=xc.^3+xc.^2-17;
x0=-3;
xf=3; Graficul functiei y=f(x)
h=1; 80

60
x=x0:h:xf;
y=yfx(x); 40

20
rez=[x' y'];
disp(rez); 0

y
-20
plot(x, y);
grid; -40
title('Graficul functiei y=f(x)');
xlabel('x'); -60
ylabel('y');
-80
-4 -3 -2 -1 0 1 2 3 4
x

1.2.2. Etapa precizarii unei radacini dintr-un interval prin metoda impusa. În practică cel
mai frecvent se utilizează Metoda înjumătătţrii intervalului, Metoda Newton şi Metoda
aproximaţiilor succesive.

2. Rezolvarea ecuaţiei cu necunoscută prin metode numerice.


Fromularea problemei: se cere de calculat rădăcina ecuaţiei (4) in intervalul [2; 3] cu eroarea
  0.01 prin metodele menţionate.

2.1. Metoda înjumătăţrii intervalului (bisectiei) – MINJ.


Pentru intervalul separat se compară semnele funcţiei la stânga f s şi mijloc f m . Dacă au
semne opuse, adica f s  f m  0 , atunci rădăcină este situată in semiintervalul din stânga
din care cauza intervalul iniţial se micşorează de două ori prin eliminarea semiintervalului
din dreapta. Dacă au aceleaşi semne, adica f s  f m  0 , atunci se elimină semiintervalului
din stânga. Procesul iterativ de calcul se întrerupe dacă este satisfăcută condiţia | f m |  .
ltima valoare a argumentului la mijlocul intervalului x m reprezintă soluţia căutată a
rădăcinii în intervalul separat.
Se cere de calculat rădăcina ecuaţiei (4) in intervalul [2; 3] cu eroarea   0.01 . Pentru
calculare se utilizează tabelul 2. In tabel se introduce valoarea argumentului la stanga
intervalului xs  2 si la dreapta intervalului xd  3 . Se calculează valoarea argumentului
la mijlocul intervalului xm  xs  xd  2.5 care se introduce in coloana respectiva a tabelului.
2
Se calculează valorile functiei f s  f ( x s ) la stanga, f m  f ( xm ) la mijlocul intervalului
şi se introduc in tabel.
Tabelul 2
k x s x d x fm s f m
f  f s m
Nota

0 2 3 2.5 -5 4.875 - Eliminare semiinterval dreapta


1 2 2.5 2.25 -5 -0.547 + Eliminare semiinterval stânga
2 2.25 2.5 2.375 -0.547 2.037 - Eliminare semiinterval dreapta
:
:

7 2.266 2.281 2.273 -0.237 -0.081 + Eliminare semiinterval stânga


8 2.273 2.281 2.277 -0.081 -0.003 + | f m | 
Aşadar, la iteraţia k=8 valoarea funcţiei la mijlocul intervalului f m  0.003 , adică modulul ei
este mai mic ca eroare impusă   0.01 , iar media calculată curentă xm  2.277 este soluţia
ecuaţiei în intervalul separat [2; 3].
Programul MatLab et_minj.m de rezolvare a ecuaţiilor cu o necunoscută prin această
metodă este prezentat în anexa 1. Ecuaţia de calcul este programată separat în fisierul-funcţie
yfx.m din anexa 4.

2.2. Metoda Newton (metoda tangentelor) - MN.


Conform metodei Newton şirul iterativ de valori aproximative se obţine ca punctele de
intersecţie ale tangentelor duse la curba graficului y=f(x) cu axa abscisei x. Din ecuaţia
tangentei se obţine formula metodei Newton de calcul a iteraţiei k a rădăcinei xk prin
valoarea ei din iteraţia precedentă xk 1 , valorile funcţiei f k 1  f ( xk 1 ) şi derivata ei de
ordinul unu f ' k 1  f ' ( xk 1 ) :
f
xk  xk 1  k'1 (6)
f k 1

Atenţie! Convergenţa metodei Newton depinde de alegerea corectă a valirii iniţiale a rădăcinii
xo  [ xs ; xd ] . Până la începerea procesului de calcul se cere de verificat condiţia de
convergenţa a metodei Newton pentru valoarea iniţiala aleasă xo :
f ( x0 )  f '' ( x0 )  0 , (7)
unde f ( x0 ) este derivata de ordinul 2 a funcţiei pentru valoarea iniţială a argumentului xo .
''

Pentru precizarea rădăcinii ecuaţiei (4) în intervalul [2; 3] cu eroarea   0.01 prin
Metoda Newton:
2.2.1. Verificăm condiţia de convergenţă (7) pentru valoarea iniţială xo .
Consideram valoarea iniţială xo  2 la stănga intervalului. Derivatele de ordinul unu şi
doi ale funcţiei (4) sunt:
f ' ( x)  3x 2  2 x
f '' ( x)  6 x  2
Pentru valoarea iniţială xo  2 valorile funcţiei şi ale derivatei secundare sunt:
f ( x0 )  23  22  17  5
f '' ( x0 )  6  2  2  14
În acest caz f ( x0 )  f '' ( x0 )  0 şi valoarea îniţială la sânga intervalului nu satisface condiţia
de convergenţă.
Pentru valoarea iniţială xo  3 la dreapta intervalului funcţia şi derivata secundară
f ( x0 )  33  32  17  19
f '' ( x0 )  6  3  2  20
sunt pozitive şi condiţia de convergentă (7) este satisfăcută.
Aşadar, pentru calcule considerăm valoarea iniţială a rădăcinei xo  3 .
2.2.2. Precizăm rădăcina cu eroarea impusă..
Pentru calculare se utilizează tabelul 3. In tabel se introduce valoarea îniţială xo  3 şi pentru
această valoare se calculează funţia şi derivata de ordinul unu. Confrom (6) din valoarea
iniţială xo  3 se scade raportul valorile calculate ale funcţiei şi primei derivate: se obţine o
valoare nouă - prima iteraţieire a rădăcinei x1  2.424 . Această valoare se întroduce în tabel
pentru iteraţia (linia) k=1 şi servşte pentru calculul următorii valori ai rădăcinii. La iteraţia
k=3 este satisfăcută condiţia terminării procesului de calcul | f k |  , iar valoarae curentă
x3  2.277 reprezintă soluţia ecuaţiei (4) prin metoda Newton
Tabelul 3
xk fk ' fk / f ' Nota
k f k k

0 3 19 33 0.176
1 2.424 3.124 22.479 0.137
2 2.285 0.1571 20.238 0.008
3 2.277 0.0005 20.116 0 | f k | 
Programul MatLab et_mn.m de rezolvare a ecuaţiilor cu o necunoscută prin metoda
Newton este prezentat în anexa 2. Derivata ecuaţiei de calcul este programată separat în
fişierul-funcţie dyfx.m din anexa 5.

2.3. Metoda aproximaţiilor succesive - MAS


Conform Metodei aproximaţiilor successive din ecuaţia iniţială (1) variabila x se separă în
partea stăngă şi se obţine o ecuaţie echivalentă:
x   (x) . (8)
În rezultat folosind iteraţia k-1 a rădăcinei xk 1 în partea dreaptă a ecuaţiei (8) se obţine
iteraţia k a rădăcinei :
xk  g ( xk 1 ) (9)
Ecuaţia (9) reprezinta formula de calcul recurrent a metodei MAS.

Atenţie! Convergenţa metodei MAS depinde de alegerea corectă a valirii iniţiale a rădăcinii
xo  [ xs ; xd ] . Până la începerea procesului de calcul se cere de verificat condiţia de
convergenţa a metodei MAS pentru valoarea iniţiala aleasă xo :
| g ( x0 ) | 1 (10)
Exista mai multe metode de tranformare a ecuaţiei (1) al forma normală (9) a metodei
MAS. Pentru asigurarea implicită a convergenţei se recomandă următorul procedeu:
1. Ecuaţia (1) se înmulţeşte cu un coeficent oarecare m
0  m  f ( x) (11)
2. La ecuaţia (11) se adaugă în ambele părti variabila x şi se obţine
x  x  m  f (x) (12)
3. Partea dreaptă a ecuaţiei (11) reprezintă funcţia echivalentă
g ( x )  x  m  f ( x) (13)
4. Derivata funcţiei echivalente g(x) este expresia
g ' ( x)  1  m  f 1 ( x0 ) (14)
5. Condiţia de convergenţă (10) ne permite să considerăm
| 1  m  f 1 ( x0 ) | 0,5
şi să determinăm coeficentul m de asigurare a convergenţei
 0,5
m 1 (15)
f ( x0 )
6. În final se obţine formula recurentă a metodei MAS cu satisfacerea implicită a
condiţiei de convergenţă:
xk  xk 1  m  f ( xk 1 ) (16)
Pentru rezolvarea ecuţiei (4) prin această metodă se utilizează tabelul 4. Considerînd
valoarea îniţială xo  3 şi valoarea derivatei corespunzătoare
f '' ( x0 )  3  32  2  3  33
conform (15) se obţine valoarea coeficientului
 0,5  0,5
m 1   0,0152 .
f ( x0 ) 33
În table se întroduce valoarea iniţială xo  3 , se calculeaza valoarea funcţiei (4) pentru acest
acest argument. Produsul m  f k se scade din xo  3 şi se obţine prima iteraţie a rădăcinei
x1  2.711 . Această valoare se întroduce în tabel pentru iteraţia (linia) k=1 şi servşte pentru
calculul următorii valori ai rădăcinii. La iteraţia k=20 este satisfăcută condiţia terminării
procesului de calcul | f k |  , iar valoarae curentă x3  2.278 reprezintă soluţia ecuaţiei (4)
prin metoda aproximaţiilor succesive
Tabelul 3
k x k kf m m  fk Nota

0 3 19 -0.0152 -0.288
1 2.711 10.280 -0.0152 -0.1562
2 2.555 6.206 -0.0152 -0.043
… … … ... …
20 2.278 0.0097 -0.0152 -0.0001 | f k | 

Programul MatLab et_mas.m de rezolvare a ecuaţiilor cu o necunoscută prin metoda


aproximaţiilor sucesive este prezentat în anexa 3.

3. Rezolvarea ecuaţiilor algebrice în mediul MatLab


Funcţiile predefinite MatLab pentru procesarea polinoamelor (ecuaţiilor algebrice) sunt:
Funcţie Destinaţie Exemplu
MatLab
conv Calculează produsul a doua polinoame C=conv(A, B)
deconv Calculează câtul ţi restul împărţirii a [d,r]=deconv(A, B)
două polinoame
poly Calculează coeficienţii unui polinom cu A=poly(r)
rădăcinile date
polyval Calculează polinomul pentru valoarea F=polyval(A,x)
argumentului
polyder Calculează deriviata polinomului D=polyder(A)
polyfit Aproximează un set de date cu un
polinom de ordinul n
roots Calculează rădăcinile unui polinom r=roots(A)
A, B, C, D, d, r – reprezintă vectorii coeficeinţilor

Ecuaţia algebrică (4) vectorului coeficienţilor este

>>A=[1 1 0 -17];

Cu funcţia
>> polyval(A,2)
se calculează valoarea polnomului pentru x=2
ans = -5
Cu funcţia
>>roots(A)
se determină toate rădăcinile ecuaţiei
ans =
-1.6387 + 2.1861i
-1.6387 - 2.1861i
2.2775
Aşadar, ecuaţia algebrică (4) are o rădăcină reală – 2.2775 şi două rădăcini complexe
conjugate -1.6387 + 2.1861i şi -1.6387 - 2.1861i.

4. Sarcina de lucru: Pentru numărul variantei conform tabelului din anexa 6:


1. calculaţi manual ecuţia transcendentă prin metodele înjumătăţirii, Newton şi
aproximaţiilor succesive cu eroare 0.001 conform metodolgiei din p.2.
2. calculatţi aceiaşi ecuaţie prin trei metode cu ajutorul progranelor MatLab din
anexele 1-3.
3. rezolvaţi manual şi cu ajutorului funcţiilor predefine MatLab ecuaţia algebrică din
anexa 6.

5. Continutul referatului:
1. Foaia de titlu
2. Scopul lucrarii
3. Sarcina de lucru
4. Notiuni teoretice asupra rezolvării ecuaţiilor cu o necunoscută prin metode numerice.
5. Tabelele cu rezultatele calcului manual şi cu ajutorul programelor.
6. Listingul programelor MatLab si rezultatele obtinute la calculator;
7. Analiza rezultatelor de rezolvare a ecuaţiei transcendente manual si in MatlLab în baza
tabelului de sinteză
Valoarea
Metoda de calcul Numar iteraţii Note
rădăcinii
manual
MINJ
program
manual
MN
program
manual
MAS
program
8. Rezultatele de calcul a ecuaţiei algebrice
9. Concluzie.
Anexa 1 Anexa 2
et_minj.m et_mn.m
% Calcul ecuatie f(x)=0 % Calcul ecuatie f(x)=0
% metoda injumatatirii % metoda Newton
intervalului
clc;
clc;
x0=input('Introdu valoarea
xs=input('Introdu marginea stanga initiala x0=');
xs=');
xd=input('Introdu marginea dreapta xa=x0;
xd='); xc=xa;

fs=yfx(xs); fa=1; %valoare preventiva


fm=1; %Valoarea preventiva fa>eps
|fm|>eps eps=1e-2; %eroare prescrisa

eps=1e-2; %eroare prescrisa k=0;


while abs(fa)>eps
k=0;
while abs(fm)>eps k=k+1;
k=k+1;
xm=(xs+xd)/2; fa=yfx(xa);
fm=yfx(xm); dfa=dyfx(xa);
if fs*fm>0
xs=xm;
fs=fm; xc=xa-fa/dfa;
else xa=xc;
xd=xm; end
end
end rez=[k xc];
disp(rez);
rez=[k xm];
disp(rez);
Anexa 3 Anexa 4
et_mas.m yfx.m
% Calcul ecuatie f(x)=0 function yc=yfx(xc);
% Metoda Aproximatiilor Succesive % Programarea functiei yc=f(xc)

clc; yc=xc.^3+xc.^2-17

x0=input('Introdu valoarea
initiala x0=');
m=input('Introdu valoarea
coeficientului m=');
Anexa 5
dzfx.m
xa=x0; function dyc=dyfx(xc);
xc=xa; % Programarea derivate functiei
yc=f(xc)
fa=1; %valoare preventiva
|fa|>eps dyc=3*xc.^2+2*xc;
eps=1e-2; %eroare prescrisa

k=0;
while abs(fa)>eps

k=k+1;

fa=yfx(xa);

xc=xa+m*fa;

rc=[k xa xc fa m*fa];
disp(rc);

xa=xc;
end

rez=[k xc];
disp(rez);
Variante de lucru individual Anexa 6
№ Ecuaţie transcendentă Ecauţie algebrică
1 ln(x)+(x+1)3=0 3x4+4x3-12x2-5=0
2 x2x=1 2x3-9x2-60x+1=0
3 x+cos(x)=1 x4-x-1=0
4 x+lg(1+x)=1.5 2x4 - x2-10=0
5 lg(2+x)+2x=3 3x4+8x3+6x2-10=0
6 2x+5x-3=0 x4 -18x2+5x-8=0
7 5x+3x =0 x4+4x3-12x2+1=0
8 3ex=5x+2 x4 - x3-2x2+3x-3=0
9 5x=6x+3 3x4+4x3-12x2+1=0
10 2ex+5x-6=0 3x4-8x3-18x2+2=0
11 2arctg(x)-x+3=0 2x4-8x3+8x2-1=0
12 (x-3)  cos(x)=1 2x4+8x3+8x2-1=0
13 xx= 20-9x x4-4x3-8x2+1=0
14 x  lg(x)=1 2x4-9x3-60x2+1=0
15 tg3x=x-1 x5 +x2-5=0
16 5x =1+e-x 3x4+4x3-12x2-7=0
17 5x =3-ex 3x4+8x3+6x2-11=0
18 arctg(x2+1/x)=x x4 -18x3-10=0
19 tg(0.55x+0.1)=x2 3x4-8x3-18x2+2=0
20 5x-6x =7 x4 -18x -10=0
21 5x-6x =3 x4 +18x -10=0
22 5x =1+e-2x x4 +18x3-6x2+x-10=0
23 7x-6x =2 x5 +12x3-6x2+x-10=0
24 5x =2+e-2x 3x5-8x3-18x2+2=0
25 x2x=3 x3 -18x -10=0

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