Documente Academic
Documente Profesional
Documente Cultură
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
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.
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.
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 |
>>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.
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;
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 x2x=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 x2x=3 x3 -18x -10=0