Documente Academic
Documente Profesional
Documente Cultură
Curs 2.
Metode numerice de rezolvare a ecuaiilor
neliniare algebrice i transcendente
Aplicaii n Ingineria Electric
Dan.Micu@et.utcluj.ro
Consideraii teoretice
Se consider o ecuaie de form general:
f (x ) = 0
f :I R
f (a ) f (b ) < 0 x 0 (a , b )
x0-rdcina ecuaiei
Observaii
Dac f(x) este un polinom atunci ecuaia se numete ecuaie algebric; n caz
contrar se numete ecuaie transcendent
Se numete:
Rezumat
Se va demonstra pas cu pas modul n care o aplicaie real
(provenit din ingineria electric) se modeleaz matematic i apoi
se rezolv numeric cu ajutorul metodelor numerice;
Intuitiv, vor fi experimentate fazele de soluionare numeric a
ecuaiilor algebrice (polinomiale), stabilite ca model matematic al
aplicatiei reale;
De la desfurarea particularizat a metodei numerice de
rezolvare, se trece la descrierea ei general, fiind subliniate limitele
de aplicabilitate, avantaje i dezavantaje;
Formularea Problemei (P) date cunoscute (date); necunoscute (soluii); lege de legtur (date-soluii)
Dezvoltare algoritm
Pentru MN(P)
Implementare algoritm n
MathCad (Matlab, Mathematica
etc.)
Specificarea
problemei reale
inducere
Confruntarea cu
realitatea
Interpretarea soluiei
(cost minim)
Modificare
model
deducere
Metode numerice
(Bisecia)
Formularea problemei
matematice
(ecuaie algebric)
Rezolvarea problemei
matematice
(L x )
x2
2
2
C1 2
C
=
2
2
a + x2
b 2 + (L x )
2
C1 sin 1 = C 2 sin 2
2
1
x [b + (L x) ] = C
2
(L x) a2 + x2
2
- ecuaie algebric
Dac: f ( x W ) f ( x E ) < 0
Intre cele dou valori limit pe care poate s le ia necunoscuta x trebuie s existe o
valoare care s anuleze funcia (Rolle)!!!
f ( xW ) f (c) < 0
f ( xW ) f (c) = 0
f ( xW ) f (c) > 0
f (d ) f ( x E ) < 0
Indic localizarea soluiei n intervalul
delimitat de punctele n care se face aceast
evaluare!!!
Fig. 3 A doua njumtire a intervalului
[a; b] = [a 0 ; b0 ]
Pasul 2: start iterativ
k =0
c k +1 = a k +
1
(bk a k )
2
Pasul 4: La acelai pas se calculeaz f (ck+1), f(ak) rezultnd noile limite ale intervalului de cutare:
f (c k +1 ) f (a k ) < 0 a k +1 = a k ; bk +1 = c k +1
Pasul 5: Dac:
Pasul 6: Incrementeaz
f (c k +1 ) f (bk ) < 0 a k +1 = c k +1 ; bk +1 = bk
k = k +1
i reia Pasul 3.
1
1
1
b3 a 3 = (b2 a 2 ) = (b1 a1 ) = (b0 a 0 )
2
2
2
1
1
bn a n = (bn 1 a n 1 ) = ... = (b0 a 0 )
2
2
1
1
x n (bn a n ) = (b0 a 0 ) = (b a )
2
2
1
(b a )
2
log(b a ) log( )
n
log(2 )
1
n log + log(b a ) log( )
2
f ( a ) f (b ) < 0
b := 12
x := a .. b
7
1 .10
f ( x)
10
1 .10
2 .10
12
( 0) ( 0) < 0 = 1
f a f b
c =6
b := b
c =9
2
\\
apoi fixarea noilor margini ale intervalului restrans si testarea conditiei de existenta a solutiei:
a := c
2
b := b
2
( 2) ( 2) < 0 = 1
f a f b
Conform demonstratiei referitoare la numarul de iteratii necesare pentru realizarea unei precizii
impuse, se evalueaza efortul minim de calcul:
n := round
log ( 2)
n = 24
In continuare, pentru obtinerea solutiei cautate se propune un algoritm de calcul automat, corespunzator
celui dat in partea teoretica sub forma de pseudolimbaj:
a := 0
b := 12
sol :=
for k 0 .. n
a a
0
b b
0
b a
c
k+ 1
a +
k
( ( k) ( k+ 1) < 0, ak , ck+ 1)
b
if( f ( c
f b < 0, b , c
k+ 1
k+ 1) ( k)
k k+ 1)
a
k+ 1
ab
c
if f a f c
\\ formula de aproximare
a solutiei;
\\ modificarea la fiecare
iteratie a capetelor intervalului
aflat in restrangere;
\\ memorarea in vectori
a acestor margini;
\\ algoritmul returneaza
vectorul aproximatiilor solutiei,
care sunt de fapt injumatatirile
intervalelor.
Afisam aproximatiile realizate prin metoda bisectiei pentru zerourile functiei polinomiale:
T
sol =
1
0
2
6
10.5
9.75 10.125
9.938 10.031
9.984
10
11
12
13
14
15
16
9.961
9.973
9.979
9.981
9.983
9.984
9.983
9.983
sol = 9.983287
n
Reprezentam grafic procesul de convergenta a aproximatiilor catre valoarea considerata optima a solutiei, din punct d
vedere al preciziei:
k := 0 .. n
12
10
sol k
sol k
8
6
4
2
0
10
15
20
k
Observatii:
1. procesul de convergenta solicita un efort de calcul considerabil, ceea ce poate fi un dezavantaj al metodei;
2. in practica, pentru problema propusa avem nevoie doar de 4 zecimale in rezultatul calculat;
3. algoritmul de mai sus poate fi imbunatatit prin impunerea unei conditii de stopare cand se atinge o anumita precizie
S := 10 cm
S := 10
g 0 := 0.1 m v := 50
U := 10000 V
0 :=
r := 2.5
iD := 3 10
t i := 0 s
t f := 2 10
() ( )
f ti f tf < 0 = 1
:= 0 r
9 m
4 9 10
N := 10
i := 0 .. N h :=
h = 2 10
t d := t i + h i t inv := t f h i
i
i
Solutie
tf ti
for i 0 .. N
for k 0 .. N i
E=
U
g( t) v t
iD =
U
( g ( t) v t)
JD = E
t
=>
v S
<=>
iD = JD dS
=>
iD =
g 0 ( 1 + sin ( t) ) v t
v S
A
sol = 0.000787 s
t prescris := 787 s
s := 10
t := 1 10
t'prescris := root ( f ( t ) , t )
t'prescris = 0.000765 s
t'prescris := 765 s
Eroare = 22 s
0 i 2 l
Fm ( x ) =
2
2 l 0
L
L
x+l 0 x+l 0
2
2
L
x
2
L
x
2
1
dx1 dx 2
x1 + x 2
Fe (x ) Fm (x ) = 0
-se dezvolt n serie Taylor funcia f(x) n jurul unui punct x0 reinnd doar primii doi termeni
0 = f ( x0 ) + f ' (x0 ) ( x1 x0 ) x1 = x0
f ( x0 )
f ' (x0 )
-n acest fel aproximaia x1 devine calculabil n raport cu prima aproximaie, i mai departe
pentru a afla o aproximaie cu o precizie sporit, efectum succesiv calculele
f (xn )
f ( x1 )
.... x n +1 = x n '
x 2 = x1 '
f ( x1 )
f (xn )
- ajungem astfel la o aproximaie xn+1 a soluiei, pe care n funcie de numrul de iteraii parcurse
o vom adopta ca fiind soluia cutat a problemei.
Modalitatea prin care s-a soluionat ecuaia neliniar este aplicarea metodei numerice a
lui Newton.
Caracterul general al metodei lui Newton
Fie o ecuaie de forma f(x)=0, cu variabila x din [a,b], iar funcia continu i de dou ori
derivabil pe intervalul dat. Dezvoltarea n serie Taylor n jurul unui punct xn, n cazul
n care se rein doar primii doi termeni ai dezvoltrii i restul, este:
f (x ) = f (x n ) + (x x n ) f ' (x n ) +
1
2
( x x n ) f '' ( n ) cu n [x; x n ]
2!
nlocuirea n expresia de mai sus, a unei aproximaii xn+1 n locul lui x, i succesiv lui xn, pentru
care presupunem c se anuleaz f(x) conduce la relaiile:
''
1
2 f ( n )
f (x ) = 0 x = x n '
(x x n ) '
f (x n ) 2
f (x n )
f (x n )
x = x n +1
neglijarea restului
x n +1 = x n
f (xn )
f ' (xn )
S-a generat astfel o formul de calcul a soluiilor ecuaiilor, n care apare o eroare de
metod datorat neglijrii restului seriei Taylor i care se bazeaz pe un calcul recursiv.
1.
2.
3.
Fig. 9 Interpretare geometric
x k +1 x k
Fie funcia
f C 2 ( I ), I R si f ( ) = 0, pt I solutie.
x n +1
f (xn )
= xn '
f (xn )
Atunci, conform teoremei valorii medii, exist un punct n ntre i x astfel nct din seria Taylor:
x n +1
6
4
748
2
}
}
f (x n ) 1
f '' ( n )
x = xn '
x xn '
f (x )
f (x n ) 2
n
''
1
2 f ( n )
( xn+1 ) = ( xn ) '
2
f ( xn )
Interpretarea relatiei: eroarea la fiecare pas iterativ depinde de ptratul erorii la pasul
anterior.
Convergena metodei este condiionat: depinde de soluia iniial, recomandnduse pentru reducerea numrului de iteraii, satisfacerea condiiei:
f ( x n ) + x n x n 1
x k +1 = x k
f (x k )
f ' (x k )
Se demonstreaz c irul este convergent i limita irului este soluia ecuaiei f(x)=0!!!
Presupunem
x0 >
- soluia exact
Dac: = x k + ( x k )
Taylor
f ( ) = 0 = f (x k + ( x k )) =
(
(
xk )
x k )2
f (x k ) +
f ' (x k ) +
f ' ' ( k )
1!
!42444
1424
3
Re st ; < k < x k
(
x k )2
f (x k ) + ( x k ) f ' (x k ) =
f ' ' ( k )
123
2!
>0
x k +1
647
48
f (x k )
f (x k )
(
x k )2
<
x
x
<
f (x k ) + ( x k ) f ' (x k ) =
f ' ' ( k ) < 0
k
k
f ' (x k )
2!
f ' (x k )
< x k +1
irul este monoton descresctor i mrginit de
x k > x k +1 >
deci irul este convergent (limit finit i unic)
x k > x k +1
Presupunem c valoarea acestei limite este:
= lim x k
k
()
()
f (x k )
f
k
k
f'
f (x k )
Deci rezult c:
()
()
= radacina ecuatiei (f (x ) = 0 ); f = f ( ) = 0
x n +1
f (xn )
= xn '
f ( x0 )
x n +1 = x n
f ' (xn )
[f
2 f (xn )
'
Metoda secantei
Dac se urmrete eliminarea evalurii derivatei, aceasta se aproximeaz cu formula de mai jos,
tiut fiind c ecuaia dreptei care trece prin dou puncte ale funciei, este o dreapt care poate
nlocui tangenta la funcie:
f ' (xn ) =
f ( x n ) f ( x n 1 )
x n x n 1
x n +1
x n x n 1
= xn f (xn )
(
)
(
)
f
x
f
x
n
n 1
Pentru aplicarea acestei metode trebuie cunoscute primele dou aproximaii iniiale x0 i x1!!!
Metoda Newton-Raphson
(metoda tangentei)
1 x x2
x
5
2
x
x
+ sin ( x) e + x x2 1
x 1 x
1 x
x
5
2
x
f ( x) := x
+ sin ( x) e + x x2
2
x 1
( )
( )
Algoritmi MathCad
\\ ecuatia a carei solutii pozitive
trebuie identificate;
1 \\ functia atasata:
0.2
0.4
0.6
2
x
0.8
b := 0.2
x := a , a + 0.001.. b
f ( a) f ( b ) < 0
f'( x) :=
f ( a ) f ( b ) = 0.037
d
f ( x)
dx
se verifica
2
0.1
0.12
0.14
0.16
x
0.18
0.2
x := 0.15
2
2
( 0) ( 0) 0
( 0) ( 0) = 1.258
f x f'' x
f ( x)
dx
(din grafic)
f x f'' x
\\ se verifica;
N := 4
k := 2 .. N
:= 10
( N)
f x
(
k 1)
x := x
k
k 1 f' x
( k1)
f x
f ( x)
f'( x)
+ x
N1
= 0.0002
( N)
f x
x = 0.168630073370396 \\ rezultatul
N
numeric cu
15 zecimale
+ x
N1
= 0.000000000197321
\\ relatia de verificare
a nedepasirii erorii impuse.
4. O pila de tensiune electromotoare imprimata U.e si de rezistenta interioara R.i alimenteaza un circuit
electric format din rezistentele reglabile R.1 si R.2, conectate in tandem conform figurii de simbolizare.
La deplasarea cursorului comun, rezistorul R.1 isi modifica rezistenta liniar cu distanta, iar rezistorul R.2
cosinusoidal cu miscarea rectilinie a cursorului. Sa se determine cate unitati de masura trebuie sa se
deplaseze cursorul, din cursa totala, astfel incat sa se ajunga la o valoare nula a intensitatii curentului
reglat prin rezistorul cu variatie liniara.
Ri := 0.15
A := 30
cm
R1( x) := A x
Ue := 24 V
Ir := 0 A
B := 25
cm
R2( x) := B cos ( x)
d := 10 cm
R1 := R1( d )
R1 = 300
Modelul matematic adoptat pentru rezolvarea cerintei impuse porneste de la considerarea teoremelor lui Kirchhoff,
care aplicate pe circuit, formeaza un sistem liniar de ecuatii, a carui solutie de interes se exprima analitic cu
regula lui Cramer. Se figureaza etapele modelului analitic:
Ir + I2
Ri I + R1( x) Ir + R1 R1( x) I
R1( x) Ir + R2( x) I2
Ue
<=>
Ir
Ue R2( x)
Dat fiindca s-a ajuns la o ecuatie neliniara avand ca necunoscuta deplasarea rectilinie x, se apeleaza la o metoda numerica de
solutionare a ecuatiilor neliniare. Metoda destinata acestei probleme, datorita largului uz in electrotehnica, este
Newton-Raphson, cu corespondent in geometrie: tangenta repetata la curba functiei care se ataseaza ecuatiei.
Procesul iterativ Newton-Raphson de ordinul 2 presupune aproximarea initiala, succesiv, a doua solutii pentru ecuatie.
Domeniul de definitie al functiei se considera spatiul total posibil de parcurs al cursorului, iar pentru acesta se verifica
eligibilitatea conditiilor de aplicare a metodei.
f ( x) := Ir
f ( x) 720
A Ue cos ( x)
2
(9004.50cos
( x) + 7503.75x
625 x )
f ( x)
1.25
2.5
3.75
6.25
7.5
8.75
10
0.2
x
Se observa ca la valoarea nula a intensitatii curentului electric se ajunge in mai multe pozitii ale
cursorului. Prima pozitie a cursorului in care curentul prin latura de circuit se anuleaza este situata, dupa
reprezentarea grafica, in intervalul [0;3] mm.
b := 3
x := a , a + 0.01.. b
f'( x) :=
d
f ( x)
dx
0.2
f ( x)
f'( x)
0
1.25
2.5
3.75
6.25
7.5
8.75
0.2
10
0.2
x
f''( x) :=
2
2
dx
f ( x)
N := 10
( 0) ( 0) 0 = 1
f x f'' x
(din grafic)
k := 2 .. N
( 0) x0 f(a)
f ( x ) f ( a)
0
a f x
x :=
1
x = 1.567
1
(
k 1)
x := x
k
k 1 f' x
( k1)
f x
x = 1.571 cm
N
Programul Mathcad ofera posibilitatea solutionarii rapide a ecuatiei deduse in aceasta problema, prin apelul blocului de functii
Given- Find. Mai jos se exemplifica acest mod de rezolvare, urmand ca apoi sa se compare cele doua rezultate obtinute pentru
cerinta problemei, in conditiile in care se va considera ca referinta afisajul numeric al blocului definit in Mathcad.
Se mentioneaza, totusi, ca in spatele rulajului predefinit in programul Mathcad se afla o metoda numerica de tipul celei
etapizate, cu precizie impusa.
x := 1.58
Given
Ir
A U e cos ( x)
(R i +
sol := Find ( x)
Eroare := sol rez
R 1 ( A cos ( x) + B x) B x
sol = 1.570796
cm
Eroare = 8.57 10