Sunteți pe pagina 1din 6

5.

METODA SECANTEI

5.1 SCOP
Înţelegerea principiului metodei secantei pentru rezolvarea ecuaţiilor şi a
modului de aplicare al acesteia.

5.2 NOŢIUNI TEORETICE


Metoda secantei face parte din categoria metodelor numerice iterative.
Preluând o aproximare iniţială furnizată de utilizator, pe baza unui studiu prealabil al
comportării funcţiei, algoritmul metodei oferă, cu fiecare ciclu de calcul, soluţii
aproximative tot mai precise. Iiteraţiile se vor întrerupe după un număr de cicluri, la
îndeplinirea unui criteriu de precizie, specificat de utilizator, în funcţie de precizia
adoptată pentru calculele respective.
Prin urmare, datele de intrare ce trebuie introduse sunt:
• Forma funcţiei asociată ecuaţiei.
• Două valori considerate aproximări iniţiale pentru soluţie.
• Relaţia iterativă specifică metodei secantei.
• Precizia impusă de calcul.
Specific metodei secantei, prin comparaţie cu metoda bipartiţiei, este faptul că
datele de ieşire nu constituie un interval care conţine soluţia, ci o valoare pentru
aceasta.

5.2.1 Deducerea relaţiei de recurenţă


Principul metodei constă în apropierea de soluţia exactă prin găsirea punctului
de intersecţie cu axa Ox a secantei care trece prin punctele de pe graficul funcţiei
aferente aproximării iniţiale. Acestea pot fi fie de o parte şi de alta, fie de aceeaşi
parte în raport cu poziţia soluţiei exacte.
Punctul nou găsit, împreună cu cel mai recent calculat, vor constitui datele de
intrare pentru iteraţia următoare.
Pentru fixarea ideilor, se va considera cazul funcţiei din figura 5.1., în care x k
şi x k −1 alcătuiesc aproximarea iniţială, iar soluţia nou găsită este notată cu x k +1 (unde
prin k se contorizează numărul de paşi sau iteraţii). Această valoare este obţinută ca
intersecţie a dreptei determinate de punctele de coordonate ( x k , f ( x k )) şi
( x k −1 , f ( x k −1 )) cu axa absciselor.
Coordonatele punctelor din figura 5.1. sunt următoarele: A ( x k , 0) , B ( x k −1 ,0) ,
C ( x k +1 ,0) , D ( x k + 2 ,0) , M ( x k , f ( x k )) , N ( x k −1 , f ( x k −1 )) , P ( x k +1 , f ( x k +1 )) .
y

f(x)

D C B
O A x

P
N
Fig. 5.1. Reprezentarea geometrică a algoritmului

Punctele A şi B sunt aferente valorilor ce alcătuiesc aproximarea iniţială.


Asociate acestora se obţin M, respectiv N. Dreapta ce trece prin punctele M şi N
intersectează axa absciselor în punctul C, a cărui abscisă constituie soluţia iteraţiei şi
este folosită la pasul următor.
La ciclul de calcul următor, datele de intrare sunt abscisele punctelor A şi C.
Prin calculul valorii funcţiei în abscisa punctului C se obţine punctul P, iar prin
intersecţia dreptei ce trece prin M şi P se obţine o nouă aproximare, D, calitativ
superioară, deci mai apropiată de soluţie.
Procedeul se repetă până la îndeplinirea criteriului de precizie.
Din asemănarea triunghiurilor MAC şi NBC se deduce relaţia de recurenţă a
metodei secantei:

f ( x k )( x k − x k −1 )
x k +1 = x k − . (5.1)
f ( x k ) − f ( x k −1 )

Aplicând formula precedentă pentru punctele M şi N, se obţine abscisa


punctului C, iar pentru M şi P, cea a punctului D.
Observând forma relaţiei de recurenţă, poate fi enunţată o situaţie în care
algoritmul se blochează. Este cazul în care valorile funcţiei în punctele ce constituie
aproximarea iniţială sunt egale. Geometric, nu va exista intersecţie între axa
absciselor şi coardă, deoarece ele sunt paralele, fapt ce se traduce prin anularea
coeficientului fracţiei în relaţia de recurenţă.
Este situaţia reprezentată în figura 5.2, în coarda MP este paralelă cu axa
absciselor, iar algoritmul se blochează.
y

N
P M

O C A B x

Fig. 5.2. Situaţie de blocare

Observaţie
În figura 5.2, punctele ce formează aproximarea iniţială sunt poziţionate de
aceeaşi parte faţă de soluţia exactă. Din asemănarea triunghiurilor MCA şi NCB, se
deduce o relaţie similară cu (5.1).
Referitor la criteriul de precizie ce dictează întreruperea calculului, acesta
poate fi de forma:

x k +1 − x k ≤ ε , (5.2)

sau

x k +1 − xk
≤ε , (5.3)
xk

unde prin ε s-a notat precizia de calcul impusă.

5.2.2 Metoda falsei poziţii


Metoda falsei poziţii similară metodei secantei, cu deosebirea că, la fiecare
iteraţie se foloseşte valoarea nou calculată şi capătul intervalului iniţial ce formează
cu aceasta un interval ce conţine rădăcina.
De asemenea, aproximările iniţiale trebuie să fie limitele unui interval care să
conţină soluţia căutată.

5.3 PROBLEME REZOLVATE


1. Să se rezolve în mulţimea numerelor reale, prin metoda secantei, ecuaţia de
mai jos, operând primele trei iteraţii.

ln( x ) = sin( x ) . (*)

Soluţie
Funcţia asociată ecuaţiei (*) are forma

f ( x) = ln( x) − sin( x ) ,
domeniul de definiţie fiind restrâns, datorită prezenţei funcţiei logaritm natural, la axa
pozitivă, mai puţin originea: x ∈ (0, + ∞ ) .
Analizând reprezentarea grafică a funcţiei cu ajutorul platformei MathCAD se
poate trage concluzia că ecuaţia are o singură rădăcină reală, deoarece există o singură
intersecţie a graficului funcţiei cu axa absciselor.
Intervalul de afişare poate fi specificat iniţial la un domeniu mai întins,
urmând a fi restrâns, ulterior, la zona în care este localizată rădăcina. Precizia
localizării poate fi crescută prin utilizarea funcţiei MathCAD TRACE, care dă
coordonatele unui punct de pe o reprezentare grafică, specificat prin selectare cu
mouse-ul.

f ( x) := ln( x) + sin ( x)

0
f ( x) f ( x)

0 50 100 0 1 2 3
x x
Etapa următoare constă în adoptarea aproximărilor iniţiale ale soluţiei prin
două valori distincte.
Pentru problema enunţată, întreruperea calculului se face după un număr de
cicluri specificat, independent de precizia atinsă. Avantajul constă în cunoaşterea
volumului de calcul care va fi efectuat.
Aproximările iniţiale vor servi ca argumente relaţiei de recurenţă (5.1). Şirul
valorilor aproximărilor va fi obţinut sub forma unui vector, în care ultimul element
constituie estimarea după numărul de paşi solicitat.
declararea aproximarii initiale

x := 0.7
0

x := 0.6
1
declararea relatiei de recurenta
f ( a) ⋅ ( a − b )
rel_rec( a , b ) := a −
f ( a) − f ( b )
iteratia 1

x := rel_rec x , x
2 ( 1 0)
iteratia 2
x := rel_rec x , x
3 ( 2 1)
iteratia 3

x := rel_rec x , x
4 ( 3 2)
T
x = ( 0.7 0.6 0.5769743742 0.5787390408 0.5787136739)
Secvenţa de calcul anterioară poate fi realizată cu ajutorul unei funcţii
(coarda_1) cu date de intrare valorile pentru aproximarea iniţială, a şi b şi numărul n
de iteraţii care trebuie efectuate. Relaţia de recurenţă constituie instrucţiunea unui
ciclu For, care se execută pentru valori ale variabilei de incrementare k cuprinse între
1 şi valoarea lui n. În afişarea rezultatului s-a reţinut numai valoarea finală furnizată
de algoritm. Codul funcţiei este prezentat în continuare.

coarda_1 ( a , b , n ) := x ←a
0
x ←b
1
for k ∈ 1 .. n

x ←x −
( k) ( k k−1)
f x ⋅ x −x
k+ 1 k f(x ) − f (x )
k k− 1
x
k+ 1

coarda_1 ( 0.7, 0.6, 3) = 0.5787136739


coarda_1 ( 0.7, 0.6, 5) = 0.5787136435

2. Să se rezolve problema anterioară cu o precizie de 10 −15 .

Soluţie
După cum s-a afirmat anterior, criteriul care determină întreruperea calcului
este de obicei un criteriu de precizie şi nu unul legat de numărul de iteraţii care
urmează să fie efectuate. Dacă la metoda bipartiţiei exista o corelaţie între precizia
obţinută şi numărul de iteraţii efectuate, pentru metoda secantei o asemenea estimare
este mai dificilă.
Funcţia coarda_2 rezolvă cerinţa enunţată. Relaţia de recurenţă este
implementată ca instrucţiune a unui ciclu While, care se execută atâta timp cât
criteriul de precizie nu este îndeplinit. Semnificaţia variabilelor este aceeaşi, cu
menţiunea că în lista argumentelor nu mai intervine numărul de paşi, ci precizia de
calcul impusă, ε .

coarda_2 ( a , b , ε) := k←1
x ←a
0
x ←b
1
while x − x ≥ε
k k− 1

x ←x −
( k) ( k k−1)
f x ⋅ x −x
k+ 1 k f (x ) − f(x )
k k− 1
k←k+ 1
x
k

(
coarda_2 1 , 5 , 10
− 15 ) = 0.5787136435
Rezultatul poate fi comparat cu cel furnizat de funcţia root din MathCAD
pentru rezolvarea ecuaţiilor transcendente. Precizia procesului de convergenţă pentru
aceasta este gestionat prin intermediul variabilei TOL. Se observă buna concordanţă a
rezultatelor.
− 15
TOL := 10
x := 1
root ( f ( x) , x) =

3. Să se scrie o funcţie pentru metoda falsei poziţii.

Soluţie
Semnificaţia variabilelor este aceeaşi ca şi în cazul funcţiei coarda_2. Se
remarcă introducerea unei condiţii care aduce pe poziţia k din şirul aproximaţiilor
successive valoarea de pe poziţia k-1, dacă f ( x k −1 ) ⋅ f ( x k +1 ) < 0 .

f ( x) := ln( x) + sin ( x)
coarda_1 ( a , b , n ) := x ←a
0
x ←b
1
for k ∈ 1 .. n

x ←x −
( k) ( k k−1)
f x ⋅ x −x
k+ 1 k f (x ) − f(x )
k k− 1
x ←x if f ( x ) ⋅ f ( x ) < 0
k k− 1 k+ 1 k− 1
x
k+ 1

coarda_1 ( 0.1, 1 , 20) = 0.578713673408

Viteza de convergenţă este mai scăzută decât în cazul metodei secantei.

5.4 TEMĂ DE LUCRU


1. Rezolvaţi, cu o precizie de 10 −13 , ecuaţia

ln( x) = e x .

2. Pentru ecuaţia

x2 + 5 = 0

funcţia coarda_2 furnizează estimările de mai jos. Cum interpretaţi aceste rezultate?

(
coarda_2 1 , 3 , 10
−4 ) = −2.9185982471
(
coarda_2 1 , 2 , 10
−4 ) = 1.7926813867

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