Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate didacticaScoala trebuie adaptata la copii ... nu copiii la scoala





Biologie Botanica Chimie Didactica Fizica Geografie
Gradinita Literatura Matematica


Matematica


Qdidactic » didactica & scoala » matematica
Rezolvarea aproximativa a ecuatiilor algebrice si transcendente



Rezolvarea aproximativa a ecuatiilor algebrice si transcendente


Rezolvarea aproximativa a ecuatiilor algebrice si transcendente


1.1 Metoda bipartitiei


Fie ecuatia

f (x) = 0 (1.1)


unde f : [ a , b ] → R este continua iar f (a) f (b) < 0.


Impartim segmentul [ a , b ] in doua parti. Distingem urmatoarele cazuri:

1. si atunci este radacina cautata si oprim procedeul;



2. si in acest caz selectam din cele doua intervale si pe acela pentru care valorile functiei in capete au semne contrare.

Acest interval il notam [ a1 , b1 ] si apoi continuam procedeul.


Se obtine, fie radacina exacta, fie un sir de intervale inchise cuprinse unele in altele


astfel incat

pentru n = 1, 2,. (1.2)


Prin urmare avem

Capetele din stanga ale acestor intervale a1, a2, ., an, . formeaza un sir crescator si marginit superior de b, iar capetele din dreapta b1, b2, ., bn, . formeaza un sir descrescator si marginita inferior de a. Din teorema "clestelui" urmeaza


( fiind limita lor comuna). (1.3)


aratam ca numarul este radacina ecuatiei (1.1). Trecand la limita in (1.2) si tinand cont de continuitatea functiei f si de faptul ca sirurile si sunt convergente avem:

sau


si tinand cont de (1.3) rezulta


adica


Observatie 1.1.1 Metoda presupune ca radacinile lui (1.1) au fost separate pe [a, b].


Observatie 1.1.2 Daca este o valoare aproximativa a lui la pasul n atunci avem

.


Observatie 1.1.3 Metoda este comoda pentru obtinerea unei estimari initiale a radacinii separate, pentru utilizarea ei in alte metode si este usor programabila pe calculator.


Observatie 1.1.4 Procedeul converge lent.


Observatie 1.1.5 In cazul in care radacinile nu au fost separate luam dupa caz o valoare foarte mica pentru a1 (de exemplu -10 n cu n N si b1 = 0 sau a1 = 0 si b1 = 10 n astfel incat sa avem f (a1) f (b1) < 0.


Observatie 1.1.6 In momentul opririi procedeului mai putem imbunatati precizia calculelor facand media aritmetica a ultimelor doua valori an si bn ( n N * ), adica


.


Exemplu 1.1.1 Sa determinam radacina functiei

cuprinsa in intervalul [0, 1].


Solutie:

Avem: f (0) = - 1, f (1) = 1

f (0,5) ≈ 0,125 - 2 ∙ 0,25 + 3 ∙ 0,5 - 1 = 0,1250.

Deci intervalul ales [ a1 , b1 ] este [0, (0,5)]. Continuam procedeul.

f (0,25) ≈ 0,0156 - 2 ∙ 0,0625 + 3 ∙ 0,25 - 1 = - 0,3594.

Deci intervalul ales [ a2 , b2 ] va fi [(0,25), (0,5)].

f (0,375) ≈ 0,0527 - 2 ∙ 0,1406 + 3 ∙ 0,375 - 1 = - 0,1035.

Intervalul ales [ a3 , b3 ] va fi [(0,375), (0,5)].

f (0,4375) ≈ 0,0837 - 2 ∙ 0,1914 + 3 ∙ 0,4375 - 1 = 0,0134.

Intervalul ales [ a4 , b4 ] va fi [(0,375), (0,4375)].

f (0,4063) ≈ 0,0671 - 2 ∙ 0,1651 + 3 ∙ 0,4063 - 1 = - 0,0442.

Deci segmentul ales [ a5 , b5 ] va fi [(0,4063), (0,4375)].

f (0,4219) ≈ 0,0751 - 2 ∙ 0,1780 + 3 ∙ 0,4219 - 1 = - 0,0152.

Intervalul ales [ a6 , b6 ] va fi [(0,4219), (0,4375)].

f (0,4297) ≈ 0,0793 - 2 ∙ 0,1846 + 3 ∙ 0,4297 - 1 = - 0,0008.

Intervalul ales [ a7 , b7 ] va fi [(0,4297), (0,4375)].

f (0,4336) ≈ 0,0815 - 2 ∙ 0,1880 + 3 ∙ 0,4336 - 1 = 0,0063.

Intervalul ales [ a8 , b8 ] va fi [(0,4297), (0,4336)].

f (0,4317) ≈ 0,0805 - 2 ∙ 0,1864 + 3 ∙ 0,4317 - 1 = 0,0028.

Intervalul ales [ a9 , b9 ] va fi [(0,4297), (0,4317)].

f (0,4307) ≈ 0,0799 - 2 ∙ 0,1855 + 3 ∙ 0,4307 - 1 = 0,0010.

Luam in final


Programul pentru metoda bipartitiei


Programul prezentat mai jos determina solutia unei ecuatii de forma (1.1) in urmatoarele ipoteze:

solutia este separata intr-un interval [a, b];

functia este continua pe intervalul [a, b].

Datele de intrare sunt: capetele intervalului in care se cauta solutia (a, b) si precizia dorita (epsilon). Functia este definita in cadrul programului.


#include<iostream.h>

#include<math.h>

#include<conio.h>

double f ( double x)


void main (void)


else

if (f(a) * f(c) < 0)

b=c;

else

a=c;


while ( ( t = = 0) && (fabs (b-a) > eps) );

if ( t = = 0)

cout<<"Solutia aproximativa este x ="<< (a+b)/2<<endl;}

getch ( );}


1.2 Metoda Newton (tangentei)


Fie o radacina a ecuatiei

f ( x ) = 0,

unde f : [a, b] → R , .

Vom aplica aceasta metoda impunand urmatoarele conditii:

1. este separata in [a, b];

2. f ' si f '' pastreaza acelasi semn in [a, b].

Fie x n o valoare aproximativa a lui . Avem

= x n + h n (h n foarte mic).

Dezvoltand dupa formula lui Taylor cu doi termeni avem


0 = f () = f (x n + h n) ≈ f (x n) + h n f '(x n) .

Urmeaza

, pentru n = 0, 1, 2, .

Deci, introducand expresia lui h n in expresia lui , inlocuind pe prin x n - 1 avem

, cu n = 0, 1, 2,


1.2.1 Argument teoretic

Metoda tangentei se aplica la capatul segmentului [a, b] (a sau b) dupa cum valoarea functiei in acel capat (punct) si valoarea derivatei a II-a in acelasi punct au acelasi semn (se vor vedea graficul de mai jos).





Sa demonstram acest fapt pentru cazul (B), adica pentru f (a) < 0, f (b) > 0, f' (a) >0 si f'' (a) > 0.

Sa demonstram prin inductie ca si in consecinta f (xn) > 0. Punem

Aplicand formula lui Taylor avem

unde .

Deoarece f" (x) > 0 urmeaza ca

sau


Tinand cont de semnele lui f (xn) si f'(xn) rezulta ca

x n+1 < x n ( n = 0, 1, 2, .)

adica aproximatiile succesive

x0 , x1, ., xn, .

formeaza un sir descrescator, marginit inferior de a, deci convergent.

Notam

Trecand la limita in egalitatea iteratiilor avem:


1.2.2 Interpretarea geometrica

Notam cu punctul initial in care aplicam metoda lui Newton.

Dupa repetarea procedeului obtinem succesiv punctele

, , . , .


Punctul imediat urmator An+1 il obtinem astfel:

scriem ecuatia unei drepte ce trece prin An si de coeficient unghiular f'(xn), adica

;

intersectam aceasta dreapta cu axa Ox si obtinem pentru x = xn+1

, pentru n = 0, 1, 2, .

1.2.3 Evaluarea erorii metodei Newton

Teorema 1.2.1 Fie f : [a, b] → R , iar o radacina a ecuatiei f (x) = 0 (adica f () = 0). Daca este o valoare aproximativa a lui, , iar


atunci avem

Demonstratie. Din teorema lui Lagrange avem:


deci

.

Teorema 1.2.2 Daca f satisface conditiile Teoremei 1.2.1, atunci eroarea celei de a n-a aproximatii va fi

.

Demonstratie. Folosind formula lui Taylor cu trei termeni avem

unde .

Deoarece din formula lui Newton, avem

Corolar 1.2.1 Din Teoremele 1.2.1 si 1.2.2 urmeaza

Teorema 1.2.3 Fie f : [a, b] → R , iar o radacina a ecuatiei f (x) = 0. Fie xn si xn+1 doua aproximatii ale lui obtinute prin procedeul Newton. In aceste conditii avem

unde m1, M2 au semnificatiile din Teoremele (1.2.1) si (1.2.2).


Demonstratie. Aplicam formula lui Taylor cu trei termeni si avem

unde

Deci




Observatie 1.2.1 Formula lui Newton asigura o convergenta rapida daca aproximatia initiala este aleasa astfel incat sa avem

.


Observatie 1.2.2 Daca in plus avem

atunci

.


Exemplu 1.2.1 Calculati radacina ecuatiei

x3 - 2x2 + 3x - 1 = 0

situata in intervalul (0, (0,5)) cu ajutorul metodei lui Newton, folosind trei iteratii. Evaluati eroarea produsa.

Solutie.

Avem f (0) = -1, f (0,5) = 0,125, f ' (x) = 3x2 - 4x + 3, f" (x) = 6x - 4.

Deci f ' (x) > 0 si f" (x) < 0, , prin urmare x0 = 0.

Calculam



Eroarea o vom calcula astfel

.

Deci, pentru eroarea produsa, , avem

Programul pentru metoda tangentei

Programul prezentat mai jos determnina solutia unei ecuatii de forma (1.1) in urmatoarele ipoteze:

solutia este separata intr-un interval [a, b];

functia este continua pe intervalul [a, b].

Datele de intrare sunt: capetele intervalului in care se cauta solutia (a, b) si precizia dorita (epsilon). Functia si derivata ei sunt definite prin proceduri de tip functie.

In cadrul programului nu se verifica semnul derivatelor. Pentru determinarea iteratiei urmatoare se parcurg urmatoarele etape:

se verifica valoarea derivatei functiei in punctul a; daca aceasta valoare este nenula se determina punctul de intersectie dintre tangenta la graficul functiei in punctul de coordonate (a, f (a)) si axa Ox;

daca punctul determinat se afla in interiorul intervalului (a, b), atunci acest punct reprezinta iteratia urmatoare;

daca valoarea derivatei functiei in punctul a este zero, se incearca determinarea iteratiei urmatoare pornind din punctul b;

daca nu se poate construi iteratia urmatoare (valorile derivatei functiei in capetele a si b sunt nule sau punctele de intersectie nu sunt in interiorul intervalului (a, b)) algoritmul se opreste: nu se poate aplica metoda tangentei pe intervalul [a, b];

daca s-a determinat iteratia urmatoare se pastreaza intervalul care contine solutia si se repeta procedeul.

Determinarea iteratiilor se opreste atunci cand modulul diferentei a doua iteratii consecutive este mai mic decat eroarea admisa epsilon. De asemenea, programul se opreste cand se determina o iteratie care este chiar solutia ecuatiei.


# include <iostream .h>

# include <math .h>

# include <conio .h>

double f (double x)


double df (double x)


void main (void)


else


}

}

if ( t = = 1)

if (df (b) = = 0)

t = 2;

else


else

}}}}

while ( ( t = = 0)&& (pas > eps) );

if ( t = = 3)

cout <<"Solutia este x ="<< c << endl;

if ( t = = 0)

cout <<"Solutia aproximativa este x ="<< c << endl;

if ( t = = 2)

cout <<"Nu se poate aplica metoda tangentei!"<<endl;}

getch ( );}


1. 3 Metoda secantei (coardei)


1.3.1 Prezentarea metodei

Metoda coardei se aplica in capatul in care nu se aplica metoda Newton (unde f si f"au acelasi semn). Sunt posibile doua situatii: 1) f(a) < 0 si 2) f(а) > 0

Scriem ecuatia unei drepte ce trece prin punctul mobil (opus celui in care se aplica Newton), de exemplu in cazul (B).

I.         Daca f(a) < 0 avem:

si, pentru x = x1, urmeaza:

sau in general

, n = 0, 1, 2, .


II.       Daca f(а) > 0 avem:


si, pentru x = x1, urmeaza:

In general avem:

, n = 0, 1, 2, .

In primul caz sirul iteratiilor este crescator si marginit de b, adica

Avem:

Trecand la limita avem

Cum y = f (x) admite o singura radacina in [a, b], urmeaza .

1.3.2 Evaluarea erorii in metoda coardei (secantei).

Fie f : [a, b] → R , , f" si f' au semne constante, iar este marginit, adica

.

Sa consideram cazul extremitatii mobile b (varf fix a). Avem



Deoarece , urmeaza:

.

Aplicand Teorema lui Lagrange avem

.

Deci

.

Deci egalitatea de mai sus devine

adica

Deoarece avem si

adica

Observatie 1.3.1 Daca avem


Exemplu 1.3.1 Determinati radacina ecuatiei algebrice

cu o eroare mai mica de 0,001.

Solutie

Avem . Deci R si

iar .

Prin urmare ecuatia are o singura radacina reala si aceasta se afla in intervalul

(- ∞,(0,66666)]. Cum f (0) = -1 retinem intervalul [0, (0,66666)]. Alegem capatul fix a= 0 si x0 = 0,66666.

Urmeaza

,


,


,


,


,


,


,


,


Deci radacina aproximativa cu precizia de 10-3 este 0,43025.


Programul pentru metoda secantei (coardei)


Programul prezentat mai jos determina solutia unei ecuatii de forma (1.1) in urmatoarele ipoteze:

solutia este separata intr-un interval [a, b]:

functia este continua pe intervalul [a, b].

Datele de intrare sunt: capetele intervalului in care se cauta solutia (a, b) si precizia dorita (epsilon). Functia este definita prin procedura de tip functie.

In cadrul programului nu se verifica semnul derivatelor.

Algoritmul care sta la baza programului este urmatorul:

se determina punctul c de intersectie a dreptei determinata de punctele (a, f(a)) si (b, f(b)) cu axa Ox folosind formula

se pastreaza intervalul care contine solutia, ([a, c] sau [b, c]), care reprezinta noul interval [a, b] pentru iteratia urmatoare si se determina modulul diferentei dintre iteratia curenta (c) si iteratia anterioara (a sau b).

Determinarea iteratiilor se opreste atunci cand modulul diferentei a doua iteratii consecutive este mai mic decat eroarea admisa epsilon. De asemenea programul se opreste cand se determina o iteratie care este chiar solutia ecuatiei.


# include <iostream .h>

# include <conio .h>

# include <math .h>

double f (double x)


void main (void)


else


}

if ( t = = 0)

cout<<"Solutia aproximativa este x ="<<c;

else

cout<<"Solutia este x ="<<c;

}

getch ( );

}

1.4. Metoda combinata


Se aplica la un capat metoda tangentei iar la celalalt metoda coardei. In metoda coardei se utilizeaza in unul din capete, incepand cu iteratia x1, valoarea iteratiei obtinute in cadrul aceluiasi pas prin metoda tangentei.

Sa luam cazul


. .

. .

. .




sau


Daca oprim procedeul.

In final mai facem o data media aritmetica a rezultatelor obtinute, adica

.

Exemplu 1.4.1 Calculati cu o precizie de 0,001 radacina ecuatiei

folosind metoda combinata.


Solutie

Avem . Deci R si

iar .

Prin urmare ecuatia are o singura radacina reala si aceasta se afla in intervalul

(- ∞,(0,66666)]. Cum f (0) = -1 retinem intervalul [0, (0,66666)].

Alegem , x0 = 0,66666.

Urmeaza







Deci solutia aproximativa calculata cu o precizie mai buna de 0,001 este


Programul pentru metoda combinata


Programul prezentat mai jos determina solutia unei ecuatii de forma (1.1) in urmatoarele ipoteze:

solutia este separata intr-un interval [a, b];

functia este continua pe intervalul [a, b].

Datele de intrare sunt: capetele intervalului in care se cauta solutia (a, b) si precizia dorita (epsilon). Functia si derivata ei sunt definite prin proceduri de tip functie.

In cadrul programului nu se verifica semnul derivatelor.

Algoritmul care sta la baza programului urmareste determinarea unui interval [c,d] unde c se determina prin metoda tangentei, iar d se obtine prin metoda secantei. Daca s-au putut determina cele doua puncte ( t = 0 ) atunci intervalul [min(c,d), max(c,d)] devine noul interval [a, b] pentru iteratia urmatoare.

Determinarea iteratiilor se opreste atunci cand lungimea intervalului care contine solutia este mai mica decat eroarea admisa epsilon. Solutia aproximativa este .

De asemenea programul se opreste cand se determina o valoare pentru c sau d care este chiar solutia ecuatiei.

# include <iostream .h>

# include <math .h>

# include <conio .h>

double f (double x)


double df (double x)


void main (void)


if ( t = = 1)

if (df (b) = =0)

t = 2;

else


if (t = =0)


else

if (c<d)


else



}

while((t = =0)&& ((b-a)>eps));

if ( t = = 3)

cout<<"Solutia este x ="<<c<<endl;

if ( t = = 0)

cout<<"Solutia aproximativa este x ="<<(a+b)/2<<endl;

if ( t = = 2)

cout<<"Nu se poate aplica metoda combinate!"<<endl;

}

getch ( );

}


1.5. Metoda aproximatiilor succesive


Consideram ecuatia

f (x) = 0                          (1.4)


unde f : I → R, iar I este un interval al axei reale.

Sa inlocuim ecuatia (1.4) printr-o ecuatie echivalenta de forma

         (1.5)

Definitie 1.5.1 Radacinile ecuatiei (1.5) se numesc puncte fixe ale lui φ.

Construim sirul de iteratii

, pentru n = 0, 1, 2, .,               (1.6)

unde x0 este o valoare aproximativa initiala a radacinii care se cauta.


Teorema 1.5.1 Daca φ : [a, b] → R (a, b R, a < b) si indeplineste urmatoarele conditii:

( α ) oricare ar fi rezulta

( β ) exista q [0, 1) astfel incat oricare ar fi u1, u2 [a, b] este indeplinita inegalitatea

,

atunci avem:

a)     daca sirul generat de relatia (1.6) este convergent;

b)     este unica radacina a ecuatiei (1.4) pe [a, b].

Demonstratie.

a) Pentru doua iteratii consecutive si , tinand cont de relatiile ( α ) si ( β ) avem:

(1.7)

Inegalitatea (1.7) are loc pentru n = 1, 2, . si aplicand-o succesiv pentru aceste valori avem:

, ( n = 1, 2, .). (1.8)

Seria

este absolut convergenta deoarece seria valorilor absolute ale termenilor sai este majorata de o serie geometrica de ratie q < 1, asa cum rezulta din relatia (1.8).

Fie Sn+1 suma partiala de ordin n+1 a seriei de mai sus. Rezulta ca

Sn+1 = xn

Deoarece seria este convergenta, rezulta ca si sirul sumelor partiale este convergent, adica

Din conditia ( β ) rezulta continuitatea functiei φ pe [a, b]. Deci sunt justificate urmatoarele egalitati:

,

adica verifica (1.5) si implicit pe (1.4).

Deoarece este un interval inchis, pentru n = 0, 1, 2, ., rezulta ca .

b) Aratam, prin reducere la absurd, ca ecuatia (1.5) are solutie unica.

Fie x1, x2 doua solutii distincte ale ecuatiei (1.5). Din relatia ( β ) avem:


Ultima inegalitate este imposibila deoarece iar 1 - q > 0 ( din ( β)).


Observatie 1.5.1 Putem inlocui conditia (β), pentru functia φ derivabila, prin inegalitatea

.

(acest fapt rezulta din teorema de medie a lui Lagrange).

Observatie 1.5.2 Teorema 1.5.1 este adevarata si pentru .

Observatie 1.5.3 Teorema 1.5.1 ne arata ca sirul dat de egalitatea (1.6) converge oricum am alege pe , adica aceasta metoda este autocorectoare.


Teorema 1.5.2 Fie R φ avand semnificatia data de relatia (1.5). Daca φ satisface conditiile:

(γ) φ este derivabila in fiecare punct

(δ) ecuatia x = φ (x) are o radacina unde iar

(η) pentru orice

(σ)

atunci avem:

a)     toate elementele sirului apartin intervalului (a, b);

b)     sirul este convergent si ;

c)      este unica solutie a ecuatiei (1.5) pe (a, b).


Demonstratie.

a)     Vom demonstra, prin inductie, ca elementele sirului apartin intervalului (a, b). Deoarece , putem calcula si avem, utilizand Teorema lui Lagrange:

,

adica .

Presupunem ca si ca . Rezulta:

,

adica pentru n = 1, 2, . .

Observatie 1.5.4 Daca , sirul aproximatiilor succesive este monoton crescator sau descrescator dupa cum .

Daca , atunci sirul este oscilant in jurul radacinii .

Teorema 1.5.3 Evaluarea erorii sirului aproximatiilor succesive.

Daca ne situam in ipotezele Teoremei 1.5.1, atunci avem

.

Demonstratie. Fie p Є N si avem

Trecand la limita pentru p → ∞, avem:

Teorema 1.5.4 Fie δ Є R, δ > 0 si f : [x0 -δ, x0 + δ] → R o functie derivabila pe acest interval. Daca f satisface conditia ca unde


,


atunci ecuatia f (x) = 0 are o singura radacina in intervalul [x0 -δ, x0 + δ].

Demonstratie. Este suficient sa demonstram acest fapt pentru f (x0) > 0, demonstratia pentru f (x0) < 0 fiind similara.

Deoarece m ≠ 0 rezulta ca f are acelasi semn pe [x0 -δ, x0 + δ], deci f este monotona pe acest interval.

Prin urmare f isi atinge marginea inferioara exacta intr-un punct care este unul din capetele intervalului.

Din teorema lui Lagrange avem:

, unde ρ Є ( x0 -δ, x0 + δ ).

Tinand cont de faptul ca

rezulta ca

Deoarece

si

avem

sau .

Distingem doua cazuri: 1) daca , atunci ; 2) daca si din faptul ca rezulta ca exista astfel ca . (Teorema lui Cauchy).

In incheiere dam un procedeu de trecere de la ecuatia 1.4 la ecuatia 1.5 cu respectarea conditiei .

Sa presupunem ca f este strict crescatoare pe (α , β) adica pentru Daca f este strict descrescator, aplicam acelasi procedeu pentru functia - f.

Consideram functia

unde λ Є R este un parametru real ce urmeaza a fi determinat astfel ca

Fie m1 si M1 doua constante astfel incat

Avem

sau tinand cont de relatia de mai sus rezulta

Deci putem alege

si

Exemplu 1.5.1 Sa se determine radacina pozitiva a ecuatiei


cu precizia .




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright