Documente Academic
Documente Profesional
Documente Cultură
Apare astfel necesitatea definirii erorii de aproximare a lui f B prin elementul din A, a
compararii mai multor aproximatii ale lui f cu scopul de a decide care dintre ele este mai
convenabila sau chiar la determinarea celei mai bune aproximatii din A a lui f.
In unele cazuri definrea erorii poate depinde si de natura multimii B, de structurile cu care
este inzestrata. De exemplu daca ( B, d ) este un spatiu metric, A B si f B , eroarea
de aproximare a lui f prin g A se masoara prin distanta d ( g , f ) . Elementul
g* A
p (f ) p ( f ) ,
oricare ar fi K si f B
se numeste seminorma pe B.
O seminorma p definite pe spatiul liniar B se numeste norma daca din p( f ) 0
rezulta f 0 .
Spatiul liniar B (peste corpul K) inzestrat cu o norma p se numeste spatiu liniar normat.
Proprietati ale normei:
1.
2.
3.
0 implica
f 0
f g f g
f ,gB
este o distanta in B.
Deci orice spatiu liniar normat este un spatiu metric.
Fie { f n }nN un sir de elemete din B si f B . Se spune ca sirul converge in norma la f
daca:
lim f n f 0 .
n
Un sir { f n }nN de elemete ale spatiului liniar normat B se numeste sir Cauchy (in norma)
daca pentru orice numar 0 exista un numar natural N N astfel incat
fm fn
daca m, n N .
Un sir convergent este un sir Cauchy.
Un spatiu liniar normat se numeste complet daca orice sir Cauchy de elemente ale sale
este convergent.
Un spatiu liniar normat si complet se numeste spatiu Banach.
Daca B este un spatiu liniar cu produs scalar, norma definite pe B prin f f , f se
spune ca este indusa de produsul scalar.
Un spatiu liniar normat cu norma indusa de produsul scalar se numeste spatiu
prehilbertian.
Un spatiu prehilbertian si complet se numeste spatiu Hilbert.
Deci un spatiu Hilbert este un spatiu Banach cu norma indusa de un produs scalar.
f ( x) f A ( x * )
cu
dat.
definite
, etc.
Fx y
Curs 2
Teoria erorilor
2.1 Sursele i clasificarea erorilor. n rezolvarea numeric a unei probleme deosebim
n general - trei feluri de erori:
1) Erori inerente (iniiale). Aceste erori provin din: simplificarea modelului fizic
pentru a putea fi descris printr-un model matematic; msurtori iniiale;
calcule anterioare; datele problemei;
2) Erori de metod (de trunchiere) care se datoreaz preciziei insuficiente a
metodei folosite. Majoritatea metodelor necesit un numr mare de operaii
aritmetice (adesea un numr infinit!) pentru a ajunge la soluia exact a
problemei. Acest fapt necesit trunchieri (renunarea la o mulime - eventual
infinit - de operaii) i aproximaii;
3) Erori de rotunjire (de calcul) care apar n datele de intrare, n calculele pe
parcurs i n datele de ieire. Astfel, datele de start nu pot fi numere cu o
infinitate de cifre deoarece nu putem opera cu acestea. Se nltur multe cifre eventual o infinitate - rotunjind numerele date, prin reinerea unui numr finit
de cifre. Pe parcursul calculelor numrul cifrelor crete i se impune de
asemenea rotunjirea. Chiar rezultatul final se rotunjete reinndu - se un
numr de cifre corespunztor preciziei dorite.
In memoria interna a unui calculator numeric se foloseste reprezentarea in
virgula mobila, in forma normalizata. Orice numar real se scrie
x m be , m 1
(b 1 m 1) .
virgula in fata primei cifre nenule ce apare in scrierea numarului (in baza b).
Exponentul se ia egal cu numarul de pozitii cu care s-a deplasat virgule
precedat de semnul + daca deplasarea s-a facut de la drapta la stanga, si de
semnul daca deplasarea s-a facut de la stanga la dreapta.
Exceptie de la acesta regula de reprezentare este numarul zero.
Prin urmare, un numar real cu mai multe cifre semnificative este rotunjit la
numarul de cifre maxim, lucru care se realizeaza prin rotunjirea mantisei.
Eroarea total se compune din cele trei erori:
Eroarea total = erori inerente + erori de metod + erori de rotunjire.
Pentru o anumit metod numeric de rezolvare a unei probleme, eroarea inerent i
eroarea metodei constituie eroarea ireductibil care nu poate fi influenat de exactitatea
efecturii calculelor.
Un numr aproximativ real i pozitiv scris n baza 10 are forma
a=a110n+ a210n-1+ a310n-2+...+am10n-m+1,
unde 0 ai 9,
i 1, m
(semnele) unui numr aproximativ a care se iau n considerare n calcul, se numesc cifre
semnificative.
Definiia 1.1.1. Se numesc cifre semnificative ale unui numr aproximativ a,
cifrele nenule precum i cele nule care sunt situate ntre cifre nenule sau care indic
ordinele pstrate n calcule (ordinele semnificative).
Exemplul 1.1.1 La numrul
a=5 10 -3+0 10 -4+0 10 -5+3 10 -6+0 10 -7=0,005003000 cifrele semnificative sunt
subliniate. Primele trei cifre sunt nesemnificative, ele indicnd doar poziia virgulei;
ultimele dou cifre nu sunt semnificative deoarece a conine cifre pn la ordinul de
mrime 10-7.
Fie k numarul de cifre semnificative. Presupunem ca b=10. Atunci, un numar x se va
scrie
x m 10 e n 10 e k
m , n [0.1,1)
daca
n 0. 5 , n 0
daca
n 0.5.
x x x *
x
x
, x0
x
x*
x
si x x * x .
x
1.96
| x | =| x* - x | = | 1.96 - 2 | 0.04,
iar eroarea apriori relativ este aproximativ 2%.
Analiza erorilor apriori
10
Ideea analizei erorilor din punct de vedere a erorilor apriori este urmtoarea: soluia
aproximativ este soluia exact a unei probleme modificate.
Soluia aproximativ se consider "bun" dac este soluie exact pentru o problem cu
datele "uor" perturbate. Deseori eroarea apriori este mai uor de estimat dect eroarea
aposteori
Condiionarea numeric. Factor de condiionare.
Problema se numete bine condiionat dac variaiile relative ale soluiei au acelai
ordin de mrime cu variaiile relative ale datelor de intrare ce le cauzeaz.
Problema este ru condiionat dac modificrile relative care au loc n soluiei pot fi
mult mai mari dect cele ale datelor de intrare.
Factorul de condiionare se definete prin:
cond
cond
f ( x* ) f ( x )
f ( x)
x* x
x
y
y
x
x
f ( x x) f ( x) f ' ( x )x
f ( x)
f ( x)
x
f ( x)
x
x y
x* y*
x*
y*
y
( x* y * )
( x* y * )
x* y* .
x*
y*
x *
y s
*
(x y )
( x y* )
*
x y x* y* x y
x y
x* y*
x*
y*
y
x* y*
x* y*
x* y* .
Eroarea
x*
y*
y d .
( x* y * )
( x* y * )
Exemplu
Fie x=2/3, y=0,6665 si k=4. Sa se calculeze td .
Avem
x * =0,6666
y*
=y
13
2
0,6666
y y*
x x* 3
y
0.
x
0,0001
y*
x*
0,6666
td
0.6666
2
0,6666
3
0,0001 d
Deci la inmultire erorile introduse initial se aduna. Pot aparea noi erori, deoarece
produsul xy poate avea un numar de cifre semnificative mai mare decat cel admis,
necesitand o noua rotunjire. Notand cu p acesta noua eroare, vom obtine eroarea totala
tp la inmultirea a doua numere
tp x y p ,
este
tE x * /( x * y * )x y * /( x * y * )y s p z ,
cu marginirea
tE 15 10 k [( x * y * )] / x * y * 3] .
14
x* x
x* x
2
x / y ( x x ) /( y y ) *
1 y / y * y / y * ....
*
y 1 y / y
y
*
x /y
x y
* .
x*
y
x 0
si
2.
x x
3.
x y x y
. : V R ,
satisfacand axiomele :
x 0 x 0;
max xi
i 1, n
xi
xi
norma-1
i 1
x
i 1
1/ 2
norma euclidiana
15
. : An R
in plus avem
4.
A B A B
5.
A x A x
max a ij
max aij
CURS 3
Rezolvarea numerica a ecuaiilor neliniare
3.1 Introducere
n multe probleme se poate ajunge la o etap de rezolvare n care se cere rezolvarea unei
ecuaii neliniare (numit uneori i ecuaie transcendent) pentru care nu exist o soluie
analitic. Vom nota cu x 0 soluia exact pentru care are loc:
f ( x0 ) 0
16
Sub noiunea de ecuaii algebrice neliniare se neleg acele ecuaii care conin
necunoscut la puterea diferit de unu, de exemplu:
n
y a0 a1 x a2 x 2 ... an x n ai x i ,
unde n1.
i 0
Sub noiunea de ecuaii algebrice transcendente se neleg acele ecuaii din care
nu poate fi obinut soluie analitic n mod evident,de exemplu:
ecuaiile exponeniale
ecuaiile logaritmice
trigonometrice
8 1 x
1 x
,
n
y a0 e b0 x a1 e b1x ... an e bn x ai e bi x ,
i 0
y ai log bi x
(unde i= 0,1,...,n) ,
i 0
Este cunoscut faptul c pentru n=1 (ecuaie liniar) i n=2 (ecuaie ptrat), exist
formule exacte de rezolvare. Pentru n=3 i n=4 exist formulele Cardano i Ferrari de
determinare a soluiilor. Pentru n>4 nu exist formule de determinare a soluiilor (metode
exacte), dect numai pentru anumite cazuri particulare. De obicei rezolvarea unei ecuaii
algebrice pentru n>4 se face prin metode iterative de calcul.
Conform unei teoreme importante din algebra, orice ecuaie algebric are cel puin o
rdcin real sau complex.
La scrierea unei ecuaii n form canonic vom avea aceleai rdcini ca i pentru ecuaia
iniial, ns n acest caz pot aprea i rdcini suplimentare.
n general astfel de ecuaii nu au rdcini exacte. Din aceast cauz se
determin o aproximaie a rdcinilor, procednd astfel:
a)
17
Teorema 3.1
Dac
intervalului, adic
f (a ) f (b) 0
n caz contrar, este posibil ca n intervalul dat s existe mai multe rdcini sau
rdcini pot s existe chiar dac f (a) f (b) 0 .
y=f(x)
f(a)
f(x)>0
b
x
f(b)
a
0
f(a)
y=f(x)
Nici chiar cele mai simple ecuatii nu admit solutii care sa fie exprimabile prin expresii
rationale sau radicali. Din acest motiv ar fi imposibil sa calculam solutiile ecuatiilor
printr-un numar finit de operatii artitmetice. De aceea este nevoie de metode iterative,
18
f(b)
b
adica de o procedura care genereaza o secventa infinita de aproximatii {xn }nN astfel
incat
lim xn l
n
(3.1)
lim
(3.2)
Daca relatiile (3.2) au loc cu egalitate in (3.1) atunci c se numeste eroare asimptotica.
Expresia cel putin, se leaga de faptul ca avem doar inegalitate in (3.1), ceea ce dorim in
practica.
Definitie 1.2 Spunem ca xn converge catre l (cel putin) cu ordinul p 1 daca (3.1) are
loc cu
en 1
c, c 0
n e p
n
lim
n>p.
(3.3)
Sirul {xn }nN converge patratic catre l daca exista C si p astfel incat
xn 1 l C xn l
(3.4)
19
Sirul {xn }nN converge superliniar catre l daca exista un numar natural p si un alt sir
n 0 astfel incat
{ n }nN cu lim
n
x n 1 l n x n l
, n>p
(3.5)
(3.7)
x x ' ( 0)
Unele din metodele cele mai eficiente de gasire a unei solutiei aproximative pentru
ecuatia (3.7) sunt metodele iterative.
Aceste metode furnizeaza un sir de aproximatii {xi }i 0 ce tinde la l , in anumite
conditii.
Ca orice metoda iterativa presupune 3 aspecte importante:
-
20
Este una din metodele iterative cele mai utilizate in calculul solutiei unei ecuati neliniare.
Fie ecuatia
f ( x ) 0 , x [ a, b ] .
(3.8)
f continu pe [a,b]
f este derivabila de doua ori pe [a,b] si derivate a-2-a pastreaza semn constant pe
[a,b]
Metodele iterative vor furniza practic un sir de aproximatii {xn }nN ce tinde catre
radacina l .
In analiza acestor metode un rol important il are modalitatea de cuantificare a rapiditatii
cu care sirul tinde catre limita.
Ordinul de convergenta va indica numarul de iteratii ce trebuie efectuate pentru a atinge o
anumita precizie, data uneori si de eroarea de aproximare. Metodele cu ordin de
convergenta mai ridicat tind sa efecueze mai multe operatii pe iteratie.
Numele de metoda tangentei deriva dintr-o interpretare geometrica a metodei, care
consta practice in determinarea sirului de aproximatii ale solutiei prin trasarea tangentei
la curba graficului functiei f, in punctele corespunzatoare solutiei anterioare ale ecuatiei,
noua aproximatie fiind punctul de intersectie al acestei tangente cu axa OX.
21
Metoda lui Newton fiind o metoda iterativa vom analiza pe rand cele trei aspecte amintite
la paragraful anterior. O prima problema ar fi alegerea conditiei initiale, problema care va
influenta evident si convergenta metodei.
S-a demonstrat ca o buna alegere a lui x0 pentru care metoda converge ar fi sa avem
indeplinit urmatorul rezultat.
Teorema 3.3 Daca f (a ) f (b) 0 , f ( x) f ( x0 ) 0 , x0 [ a, b] , f ' , f ' ' pastreaza semn
constant pe [ a, b] atunci sirul {xn }nN este convergent catre solutia ecuatiei (3.8).
Pentru usurinta vom alege in aplicatii unul din capetele intervalului [a,b] care respecta
relatia de mai sus.
Daca vom urma rationamentul geometric descris mai sus, la pasul 1, deducem urmatoarea
relatie de iteratie:
x1 x0
f ( x0 )
.
f ' ( xo )
xn 1 xn
f ( xn )
, n 0,1,...
f ' ( xn )
(3.9)
(3.10)
(3.11)
in anumite situatii..
22
Cu alte cuvinte procesul iterativ se opreste cand diferenta in modul a doua aproximatii
succesive este mai mica decat termenul eroare eps- dat.
Relatia de mai sus revine tinand cont de (3.9)
f ( xn )
eps
f ' ( xn )
(3.12)
Iesiri
k 0
x0 x
x x0
cat timp
f ( x0 )
fd ( x0 )
x x0 eps
si k nr _ max
{
k k 1
x0 x
x x0
f ( x0 )
fd ( x0 )
}
}
Daca pe parcursul procesului iterativ se anuleaza derivata functiei atunci se
executa o iteratie de salvare in care corectia radacinii se calculeaza fara a imparti la
derivata functiei. Aceasta abordare are avantajul ca rezolva si zerourile de ordin superior,
in care functia si prima ei derivata au zerouri comune.
23
r cu xk
atunci
, unde
Graficul funciei
f ( x) x k a este
24
y
Aplicnd formula tangentelor se obine
x nk1 a
x n x n 1
, n 1,2,
k x nk11
sau transformnd
xn
Y(,0)
1
a
(k 1) x n 1 k 1 , n 1,2,
k
x n 1
A(0,-a)
xn
1
a
x
, n 1,2,
2 n1 x
n1
1
a
2x
, n 1,2,
n1 x 2
3
n1
25
f (x) = 0
cu
p0
cu precizia epsilon i
numrul maxim
% de iteraii N 0
% se mai cunoate i fderivat (derivata I a funciei f)
% funcia returneaz n -> rez : soluia
% -> iteratii :numrul de iteraii
% ->
x :irul
de aproximri
i = 1;
x = [ p 0];
while (i <= N 0)
p = p 0 feval ( f , p 0)/feval ( fderivat , p 0);
x = [ xp ];
rez = p;
iteratii = i;
return
end
i = i 1;
p 0 = p;
end
iteratii = N 0;
rez = 0;
Exemplul 1
S se rezolve ecuaia
3
x x 1 = 0 , x [ 2, 1]
zecimale exacte.
Soluie:
26
Notm
f ( x) = x x 1 .
f (x ) - continu
f ' ( x) = 3x
f " ( x) = 6 x
apa).
Mai nti s observm c f (1) f (2) < 0 deci ecuaia admite cel puin o soluie
pe intervalul (1,2) .
O reprezentare grafic ar ajuta mai mult.
1
-1
-2
-3
-4
-5
-2
-1.9
-1.8
-1.7
-1.6
-1.5
-1.4
-1.3
-1.2
-1.1
-1
Fig. 13.3
Conform metodei lui Newton relaia ce genereaz aproximaiile pentru soluia
ecuaiei este:
x n 1 = x n
x n3 x n 1
3 x n2 1
f " ( x ) f ( 2) > 0
deci x 0 = 2 .
nlocuind pe rnd n relaia (1) n = 0,1,2,... obinem un ir al aproximaiilor
soluiei ecuaiei:
x 0 = 2
x1 = 1.545
x 2 = 1.360
27
x3 = 1.32520
x 4 = 1.32471
x5 = 1.32471
CURS 4
4.1 Metoda secantei
Metoda Newton prezint inconvenientul de a calcula derivata lui f. Se poate ca
aceast derivat f ' s fie dificil de calculat. Atunci, se nlocuiete derivata f ' ( x n )
printr-o aproximaie n funcie de valori ale lui f.
De exemplu
f ' ( xn )
f ( x n ) f ( xn 1 )
.
x n x n 1
(4.1 )
X 0 ( x0 , f ( x0 )) - punct dat de
f ' ' ( x ) f ( x0 ) 0 , x0 [ a, b] .
(4.2 )
Pentru usurinta vom alege unul din capetele intervalului [a,b] care respecta acesta relatie,
iar x1 va reprezenta celalalt capat.
Astfel pentru aflarea aproximantei de ordin 2 vom intersecta secanta determinata de
punctele A( a, f ( a )), B (b, f (b)) - corespunzatoare conditiilor initiale cu ecuatia:
xa
y f (a )
ba
f (b) f (a )
f (a )
(b a )
f (b) f (a )
sau
x2 x1
f ( x1 )
( x0 x1 ) ,
f ( x0 ) f ( x1 )
in conditiile in care x0 b, x1 a .
Continuand algoritmul pe aceeasi idee, aproximatia de ordin n+1 se obtine ca intersectie a
secantei X 0 X n cu axa OX
xn1 xn
f ( xn )
( x0 x n )
f ( x0 ) f ( x n )
(4.3 )
f ( x k ) f ( x0 )
.
x k x0
29
y
A
f(a)
b
0
f(b)
B
conditii la solutia exacta a ecuatiei. In ipoteza unei erori eps>0 vom considera xn 1 o
aproximanta satisfacatoare a solutiei ecuatie date daca:
x n 1 x n eps
f (b ) f ( a ) f ' ( ) (b a ) .
f '
xn xn 1
f ( xn 1 )
( xn 1 a ) rezulta
f ( xn1 ) f (a )
f ( x n1 )( x n 1 a ) ( f ( x n 1 ) f ( a ))( x n x n 1 )
f ( xn 1 )
f ( xn 1 ) f (a)
( xn xn 1 )
xn 1 a
30
Deoarece f (l ) 0 urmeaza
f (l ) f ( xn1 )
f ( xn1 ) f (a )
( xn xn 1 ) .
xn1 a
adica
l xn
f ' ( xn*1 ) f (l n 1 )
f ' (l n 1 )
x n xn 1
adica
l xn
M 1 m1
xn xn1 .
m1
Observatie Ordinul metodei secantei va fi mai putin bun decat cel al metodei lui
Newton.
Algoritm- Metoda secantei
Date de intrare
f- functia asociata ecuatiei;
a,b- capetele intervalului;
eps- eroarea de aproximare;
Date de iesire
c- aproximatia solutiei aproximative
Daca f (a ) f (b) 0
31
f (d )
(d a)
f (d ) f (a)
altfel
cd
pana cand
f (d )
(d b)
f (b) f (d )
c d eps
f (x) = 0
cu
metoda secantei
% cunoscnd aproximaiile iniiale
p0
si
p1 cu precizia
de iteraii N 0
q 0 = feval ( f , p 0);
q1 = feval ( f , p1);
while (i <= N 0)
p = p1 ( q1* ( p1 p 0))/( q1 q 0);
rez = p;
iteratii = i;
return
end
i = i 1;
p 0 = p1; q 0 = q1;
32
p1 = p; q1 = feval ( f , p );
end
it = N 0;
Exemplul 3
Gsii soluia real a ecuaiei
x 5x 1 = 0
f ( x) = x 5 5 x 1 .
f ( xn )
( x n x0 ), n = 1,2,...
f ( xn ) f ( x0 )
x 4 = 0.19968
Se observ c diferena dintre 2 aproximaii succesive devine tot mai mic, ceea
ce reprezint un semnal pentru oprirea calculului.
33
-1
-2
-3
-4
-5
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
Fig. 13.4.
Din reprezentarea grafic a funciei se poate observa poziionarea cu aproximaie
a soluiei exacte a ecuaiei.
ab
.
2
Daca f (c) 0 atunci c este radacina. Daca f (c) 0 , se calculeaza semnul produsului
f ( a ) f (c). Daca acesta este ngativ, atunci radacina se afla in intervalul [a,c], altfel
34
a0 b0
.
2
ba
.
2
solutiei ecuatiei.
xn
a n bn
, n0.
2
Se observa ca
bn1 an1
bn an
b a
.... 0 n1 0
2
2
si
l xn bn1 a n1
b0 a0
2 n1
35
ba
.
2n
x este data de
ba
.
2n
Convergenta
Metoda construete irul de iterate (puncte) x1 , x 2 ,..., x n ..
La fiecare pas (iteraie) avem:
| xi |
bi ai
2
rezult:
36
| x1 |
| x 2 |
ba
2
ba
22
....
ba 1 n
| x n | n = (b a)
2
2
ba
2n
Dar
ba
lim a lim bn
n =0 deci rezult egalitatea n n
n
2
lim
n
Cum irul {an} este cresctor i mrginit de pe cnd irul {b n} este descresctor i
mrginit de rezult convergena irurilor {an}, {bn}, {xn} ctre aceiai valoare:
lim f (a n ) * f (bn ) 0
n
lim f (a ) * lim f (b ) 0
n
37
1
xi
2
bn a n
, atunci prin
n log 2
Algoritm-metoda bisectiei
Intrari :
for k=1:it
c
ab
;
2
a c;
altfel b c;
c
ab
2
38
( f , b);
if ya * yb > 0
break
end
if yc == 0
a = c;
b = c;
else if yb * yc > 0
b = c;
yb = yc;
end
if b a < eps , break,end
end
c = ( a b)/2;
err = abs(b a );
yc = feval ( f , c);
Exemplul 4
S se aproximeze soluia ecuaiei
e x2= 0
njumtirii intervalului.
Soluie.
S notm cu
f ( x) = e
x2.
39
Din f (1) f (1) < 0 rezult c exist cel puin o soluie pe intervalul [1,1] . O
prim aproximaie a soluiei se face prin mprirea intervalului prin mijlocul lui, adic
x0 =
11
= 0.
2
0 1 1
= se
2
2
1
1
observ c f (0) f
1
2 = 1 , ne
2
4
x2 =
restrngem tot mai mult n jurul soluiei exacte a ecuaiei. La o nou evaluare a funciei
1 1
1 1
f < 0 deci soluia exact se va gsi n intervalul ,
4 2
2 4
se observ c f
La acest
pas am putea face o aproximare a soluiei exacte prin mijlocul acestui ultim interval. Deci
1 1
3
x * = x3 = 2 4 =
2
8
1 (1)
2
= 1.25 10 1.
(4.3.1)
40
Problema ce se considera este de a alege o metoda, deci functia g, astfel incat sirul
{xn }nN sa fie convergent la l .
Este necesar ca solutia ecuatiei x g (x) in intervalul [ a, b] sa fie aceeasi cu
solutia ecuatiei f ( x) 0 in intervalul [ a, b] .
Procedeul de calcul a soluiilor aproximative prin relatia (4.3.1) se numete
metoda punctului fix.
Are loc
Teorema 4.3.1 Dac n intervalul [a,b] funcia g verific urmtoarele condiii:
a) pentru orice x [a, b] are loc g ( x ) [a, b] ;
b) g este o aplicaie strict contractant, adic exist un numr real L: 0 L 1 astfel
nct pentru x [ a, b] , y [a, b] avem: | g ( x) g ( y ) | L | x y |
atunci, oricare ar fi x0 [a, b] irul definit prin xn 1 g ( xn ) converge spre unica
soluie a ecuaiei x g (x ) cu [ a, b] .
Demonstraie.
Dac 1 i 2 sunt dou soluii distincte ale ecuaiei x g (x ) urmeaz c
| 1 2 | | g (1 ) g (2 ) | L | 1 2 | cu L 1 .
Deci | xn 1 x n | Ln | x1 x0 | sau
| x n p x n | | ( x n p x n p 1 ) ( x n p 1 x n p 2 ) ... ( x n 1 x n ) |
| x n p x n p 1 | | x n p 1 x n p 2 | ... | x n 1 x n| .
Deci
41
| x n p x n | | x1 x 0 | ( Ln p 1 Ln p 2 ... Ln )
Ln | x1 x 0 |
| x1 x0 |
1 Lp
1 L
Ln
.
1 L
Deoarece irul ( x n ) verific criteriul lui Cauchy urmeaz c el este convergent spre
limita sa i cum g este funcie continu, deoarece este strict contractant, aceast
limit verific g () .
Dac x n [a, b] atunci g ( x n ) [ a, b] . Deoarece elementele irului ( x n ) aparin
intervalului [a,b] (deoarece x0 [a, b] ) i ( x n ) converge, urmeaz c limita sa
aparine intervalului [a,b].
| x n | | x1 x0 |
Ln
.
1 L
Dac g este o funcie derivabil atunci o condiie suficient astfel nct g s fie strict
contractant este urmtoarea.
Propoziia 4.3.2 Fie g o funcie derivabil n [a,b]. Dac
max | g ' ( x) | L 1
x[ a , b ]
g'
verific
unde 0 L 1 .
Condiia a) din teorema precedent trebuie s fie ndeplinit.
ntr-adevr. Pentru funcia g ( x) x
1
1
, unde x 1 , g ' ( x) 1 2 , | g ' ( x) | c 1 ,
x
x
x g ( x)
1
0.
x
Intervalul [a,b] n care ipotezele teoremei de punct fix sunt verificate este, n general greu
de determinat.
Dac se poate calcula (estima) g ' () atunci are loc urmtorul rezultat.
Propoziia 4.3.5
Dac | g ' () | 1 atunci exist un interval [a,b] coninnd pentru care irul definit
prin x0 [a, b] i xn 1 g ( xn ) converge la .
Propoziia 4.3.6
cu [a,b]
Din relaia de mai sus rezulta ca sirul {xi} i=0,1,2,...,n este convergent spre daca
distanta la rdcin scade la fiecare iteratie :
|g`()|< 1
[a,b]
Cu alte cuvinte maximul valorii absolute a derivatei pe [a,b] trebuie sa fie subunitar :
M sup | g ' ( x) | 1
( a ,b )
[a,b] obinem
xi 1 M xi
Rezulta ca metoda contractiei asigura o convergnta liniara, iar numarul de iteratii este cu
atat mai mic cu ct M este mai aproape de zero.
43
xi 1 xi
ALGORITM
Date de intrare:
- f (contractie)
- x00 (termenul initial al sirului)
- eps (eroare ce determina conditia de oprire: se calculeaza termenii sirului pna la
x n cu proprietatea xn xn 1 eps ).
Date de iesire:
x1 f ( x0 ) ;
ct timp x0 x1 eps executa
{ x0 x1 ;
x1 f ( x0 ) ;}
}
Faptul ca f este contractie asigura terminarea programului ntr-un numar finit de pasi.
Pentru a evita ciclarea n situatia n care un utilizator ar ncerca folosirea programului
pentru o functie care nu este contractie, se poate stabili de la nceput un numar maxim de
pasi ce urmeaza a fi executati. De asemenea se poate afisa la fiecare pas diferenta dintre
termenii consecutivi curenti. (pentru a observa ca sirul nu converge daca f nu e
contractie). Astfel se poate folosi urmatoarea varianta a algoritmului:
Date de intrare:
- f (contractie)
- x00 (termenul initial al sirului)
44
x1 f ( x0 ) ;
n=1
ct timp x0 x1 eps si (n<Nmax) executa
{ x0 x1 ;
x1 f ( x0 ) ;
n=n+1
scrie ( x1 x0 )}
}
Teorema urmtoare asigur condiiile pentru convergena unui proces iterativ de punct fix
Teorema 4.3.6
Presupunem c avem
i) g , g ' C ([ a, b])
ii) k este o constant pozitiv
iii) p0 ( a, b)
iv) g ( x) [a, b] pentru x [a, b]
Atunci
a) Dac
g ' ( x) k 1
45
b) Dac
g ' ( x) 1
p.
46
CURS 5
Rezolvarea sistemelor de ecuatii liniare
5.1 Aspecte generale
Rezolvarea sistemelor cu un mare numr de ecuaii liniare reprezint unul din
domeniile n care calculatoarele numerice i-au dovedit din plin eficiena. Problema
rezolvrii sistemelor de ecuaii liniare este foarte des ntlnit n simularea numeric.
Enumerm cteva situaii: interpolare cu funcii spline cubice, rezolvarea sistemelor de
ecuaii neliniare cu ajutorul metodelor iterative care au la baz liniarizarea ecuaiilor,
discretizarea ecuaiilor difereniale ordinare cu condiii la limit, discretizarea ecuaiilor
cu derivate pariale.
Fie sistemul
........................................
an1 x1 an12 x2 .... a2 n xn bn
(5.1.1)
AX B
unde
47
x1
x
2
...
xn
b1
b
2
...
bn
cel
i 1
j 1
mai
bine
ecuaiile
sensul
minimizrii
reziduului
R (bi aij x j ) 2 .
O matrice L R nn , cu lij 0 pentru toti i j se numeste inferior triunghiulara.
O matrice U R nn , cu uij 0 pentru toti i j se numeste superior triunghiulara.
Sistemul AX B se numeste inferior (superior) triunghiular daca matricea A este
inferior (superior) triunghiulara.
48
Sistemul admite solutia unica X R n , daca matricea A este inversabila caz in care
solutia se exprima X A 1 B. Dar relatia nu constituie o metoda practica de rezolvare a
sistemelor, deoarece calculul inversei unei matrici de dimensiuni mari este o problema ce
necesita volum mare de calcul.
Algoritmii de rezolvare a sistemelor de ecuatii liniare se grupeaza in 2 mari clase:
-
Algoritmii directi in general daca erorile de rotunjire lipsesc conduc la solutia exacta a
sistemului. Metodele directe aduc sistemul prin transformari de echivalenta, la un sistem
particular (diagonal, triunghiular, etc), care se rezolva prin metode elementare.
Algoritmii iterativi pornesc de la aproximatie initiala X 0 , si apoi pe baza unei relatii de
iteratie construiesc un sir de aproximatii X k , k 1,2,3,... convergent in anumite conditii
la solutia exacta.
Procesul iterativ se opreste cand aproximatia de ordin k se incadreaza intre limitele unei
precizii stabilite initial.
Alegerea uneia sau alteia dintre aceste metode tine cont desigur si de complexitatea
metodei.
Complexitatea metodelor directe este de O(n3), pe cand a celor iterative O(n2), ceea ce le
recomanda pe cele din urma in cazul sistemelor mari de ecuatii (>50), daca se asigura si o
convergenta rapida.
Nu trebuie uitat c, la reprezentarea numerelor n calculator nu putem reine dect un
numr finit de cifre, iar erorile de rotunjire se propag. Se poate ajunge n situaia ca din
cauza acestor erori, determinantul s devin egal cu zero sau s aib o valoare foarte mic
n modul. Complexitatea implementrilor prezente n bibliotecile matematice se
datoreaz n mare parte tehnicilor de evitare a acestei situaii, dar totodat i eforturilor de
minimizare a memoriei utilizate i a timpului de calcul
49
a i1
, i 2,3,..., n , si se aduna la ecuatiile de ordin i 2,3,..., n .
a11
Obtinem
...............................
ai1
a1' j ( j 1,2,..., n)
a11
ai1 '
b1
a11
50
2
0 se elimina x2 din ecuatia i (i 3,4,..., n) , iar la pasul
La pasul 2 presupunem ca a 22
................................
...................................
unde
k
i k 1
aij ,
aijk 0
i k 1, k n 1
k -1
k 1
a k 1 ai,k 1 ak 1, j , i, j k 1
ij
akk11,k 1
Astfel dupa
triunghiular echivalent:
......................................
.............................
annn xn bnn
n
0 obtinem
In conditiile in care ann
51
bnn
xn n
ann
xk bkk
j k 1
k
kj
1
x j k , k (n 1),....1
a kk
52
nG [(n s ) 2 2(n s )]
s 1
n 3 n 2 5n
3
2
6
Acest numr este foarte mic (ncepnd cu n >= 3) fa de nn! operaii cerute de regula lui
Cramer (cu determinanii calculai dup minori). La aceste operaii se adaug nc
aproximativ
1 (n 1) n(n 1) / 2 n 2 / 2 n / 2
n3
n n3
n2
n2
3
3 3
Algoritm-Metoda Gauss
Intrri:
n = dimensiunea sistemului
A = matricea sistemului
b = vectorul termenilor liberi
Ieiri:
{
pentru k 1 : n 1
53
pentru i k 1 : n
{
t aik / a kk
a i , k : n ai , k : n t a k , k : n
bi bi t bk
}
pentru i n : 1
{
suma
suma +
ai , i 1:n xi 1:n
}
}.
Cod de program n Matlab metoda eliminrii gaussiene cu pivotare parial
function
[ x] =
Gauss1 (a )
D =size (a );
n = D(1);
nlin = 1: n;
x = [];
for i = :1 n 1
p = i;
m = abs(a(nlin(i),i));
for j = i 1 : n
if (abs ( a (nlin ( j ), i )) > m )
54
end
end
if (a( nlin( p), i) == 0)
return
end
if ( nlin(i ) nlin ( p ))
ncopie = nlin(i);
nlin(i ) = nlin( p );
nlin( p) = ncopie;
end
for
j = i 1: n
for k = 1 : n 1
a(nlin( j), k ) = a(nlin( j), k ) m(nlin( j), i) * a(nlin(i), k );
end
end
end
if ( a ( nlin ( n), n) == 0)
return
end
x (n) = a ( nlin( n), n 1)/a ( nlin( n), n);
for i = n 1 : 1 : 1
suma = 0;
for j = i 1 : n
suma = suma a(nlin(i), j) * x( j);
end
x(i ) = ( a ( nlin(i ), n 1) suma )/a ( nlin(i ), i );
end
Citirea sistemului de ecuaii sau altfel spus a matricei extinse a sistemului, poate fi fcut
i ea interactiv de ctre utilizator tot printr-un cod de program Matlab.
function
a = citire_sistem ()
55
n=
si de necunoscute:n =' );
a = [];
for i = 1 : n
for j = 1 : n
fprintf( ' a[%d ][%d ] =' ,i,j);
a (i, j ) input (' ' )
'
);
'
end
Pentru afiarea soluiilor s crem tot o funcie:
function afiare_soluie( x )
%
funcie
care
afieaz
soluia
sistemului
caz
n = length ( x );
if n == 0
fprintf (
'
'
);
else
for i = 1 : n
fprintf
i , x (i )
( ' x(%d)=%f\n
'
);
end
end
Bineneles pentru rezolvarea unei probleme concrete se vor apela cele trei funcii cu
numele i parametrii lor n fereastra de comand a mediului de programare Matlab, astfel
a = citire_sistem;
x = Gauss1( a );
56
afisare_solutie( x);
x1 2x2 4x3 = 5
8 x1 x 2
= 8
Soluie
S aducem mai nti sistemul la forma diagonal dominant n care elementele
pivot (situate pe diagonala principal) sunt pe coloanele corespunztoare n modul valori
maxime.
Pentru aceasta vom permuta mai nti liniile 1 cu 3 apoi linia 2 cu 3 i obinem:
8 x1 x 2
= 8
x1 5 x 2 x3 = 2
x1 2 x 2 4 x3 = 5
Etapa nti: se identific elementul pivot, a11 = 8 , se mparte prima linie la valoarea
acestuia, apoi se elimin necunoscuta x1 din liniile 2 i 3. Eliminarea se face adunnd
mai nti linia 1 la linia 2, apoi tot linia 1 se adun la linia 3 pentru a elimina necunoscuta
i din ultima ecuaie.
x1 0.125 x 2 = 1
x1 5 x2 x3 = 2
x1 2 x 2 4 x3 = 5
x1 0.125 x 2
= 1
4.875 x 2 x3 = 1
2.125 x 2 4 x3 = 4
Etapa a doua: elementul pivot este a 22 = 4.875 . mprim linia a doua la acest element,
apoi eliminm necunoscuta
x2
din ecuaia 3.
x1 0.125 x 2
= 1
x 2 0.205 x3 = 0.205
2.15 x 2 4 x3 4
57
Eliminarea necunoscutei se face nmulind linia a doua cu 2.125, apoi o adunm la a treia
linie.
x1 0.125 x 2
= 1
x 2 0.205 x3 = 0.205
4.435 x3 4.435
Etapa a treia: dup mprirea la ultimul element pivot a33 , sistemul este adus la forma
final triunghiular superior i care permite calculul soluiilor. Obinem astfel prima
soluie x3 = 1 . Dup nlocuirea acestei soluii n ecuaia 2 obinem i x 2 = 0. n final
x6 = 1.1348
CURS 6
6.1 Condiionarea unei sistem de ecuatii liniare
Sistemele de de ecuaii liniare pot fi bine condiionate (cu solutie stabila) i ru
condiionate (cu solutie instabila). Stabilitatea soluiei se judeca n raport cu mici
perturbatii ale vectorului liber. Daca la modificari nesemnificative ale termenului liber,
solutia sistemului se modifica in aceeasi masura, atunci sistemul este bine conditionat,
avind solutie stabila; daca solutia se modifica esential, sistemul este rau condtionat si
are solutie instabila.
Un sistem este rau conditionat pentru o operatie determinata, efectuata printr-o metoda
determinata, atunci cind aceasta sensibilitate este mare. Aceasta definitie introduce
distinctia intre doua tipuri de de conditionare: un sistem poate fi rau conditionat pentru o
metoda particulara sau rau conditionat pentru o operatie particulara, oricare ar fi metoda
folosita.
Fie sistemul
58
x1
10 7 8 7 32
x
7 5 6 5 2 23
8 6 10 9 x 3
3
7 5 9 10 31
x
4
t
cu solutia (1, 1, 1, 1) si consideram sistemul perturbat, in care membrul drept este
59
x x
10 7 8 7 1 1 32.1
x x
7 5 6 5 2 2 23.9
8 6 10 9 x x 3 .1
3 3
7 5 9 10 31.9
x x
4 4
60
x x
10 7 8.1 7.2 1 1 32
x x
7.08 5.04 6 5 2 2 23
8 5.98 9.89 9 x x 3
3 3
6.9 4.9 9 9.98 31
x x
4 4
cu solutia (81, 137, 34, 22)t . Deci o variatie mica in datele de intrare modifica
complet rezultatul (solutia sistemului liniar). Matricea initiala este simetrica,
determinantul ei este 1 iar inversa ei este:
25 - 41 10 - 6
- 41 68 -17 10
10 -17 5 - 3 .
- 6 10 - 3 2
61
Sa comparam cele doua situatii. In primul caz cand A este matrice inversabila sa
comparam solutiile exacte x si x x ale sistemelor
Ax b
A( x x) b b
Fie . o norma matriceala.Din egalitatile x A 1b si
x A 1 b
x
x
b Ax se deduce
prin
x
x
A A 1
b
b
In a doua situatie cand matricea variaza, avem de comparat solutiile exacte ale sistemelor
Ax b
.
( A A)( x x) b
Din egalitatea x A 1A( x x) se deduce
x
A 1 A x x
Definitia 6.1
Daca A este nesingulara, numarul
cond ( A) A A 1
(6.1)
x
x
62
b
b
Fig. 6.1
O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua si
rezultatul se multiplica cu 100:
63
3.0 x 2.04 y 5
Fig. 6.2
Dac considerm o incertitudine n coeficienii sistemului, banda de incertitudine a
rdcinii va fi larg i cu att mai larg cu ct pantele sunt mai apropiate (Fig.
6.1). n schimb, dac pantele sunt diferite, intersecia dreptelor este net i banda de
incertitudine este ngust.(Fig. 6.2 )
Un exemplu de matrice rau conditionata este matricea Hilbert
64
X ( k 1) X
, k 1,2,..., n
cu
dat.
AX b.
(6.1)
65
(6.2)
(6.3)
lim X ( k ) X *
k
revine
la
lim B ( k ) 0
conditia
sau
cu
alte
cuvinte
1,
unde
j 1
........................................
an1 x1 an12 x2 .... a2 n xn bn
(6.2.1)
66
x1
x
2
...
xn
b1
b
2
...
bn
X ( k 1) BX ( k ) d
k 0,1,..., n.
unde B
max bij .
i 1,.., n
j 1
aij
j 1
aii
j 1
i 1,.., n
1,
j i aii aij ,
j i, i 1,.., n.
j 1
Deci conditia necesara si suficienta pentru ca metoda iterativa Jacobi sa convearga este ca
matricea sistemului sa fie diagonal dominanta.
Din relatia de iteratie avem:
67
X ( k 1) BX ( k ) d
X ( k ) BX ( k 1) d
X ( k 1) X ( k ) B( X ( k ) X ( k 1) )
( k 1)
(k )
Daca notam cu
( k 1)
(k )
B X ( k ) X ( k 1)
rezulta
q B
q X
(k )
( k 1)
q m (1)
...
X X (0)
1 q
m
X ( k 1) X ( k ) q X (1) X ( 0)
1 q
O conditie de oprire a procesului iterativ este cand diferenta in modul a doua aproximatii
successive se incadreaza intre limitele erorii
X
( k 1)
X (k )
sau
qm
X (1) X ( 0 ) ,
1 q
(1)
(0)
max xi(1) xi( 0 ) .
unde X X
i 1,.., n
k 0,1,2,...
j i
68
aij
aii
bi
, i 1,2,..., n
aii
si
elementele
matricii
de
iteratie
de
forma
, i j , i, j 1,2,..., n.
j 1
j i
sau
n
| aij | | a jj |, j {1,2,..., n}
i 1
i j
sau
2
aij
1 .
i 1 j 1 aii
n n
j i
= precizia
Ieiri:
{
k 0
69
p y
| p q | p
pentru j 1 : i 1
s s aij y j
pentru j i 1 : n
s s aij y j
xi (bi s ) / aii
}
p y
q x
yx
k k 1
}.
70
a11 0 ..... 0
a a ..... 0
21 22
...................
...................
0 0..........0
elementele de sub diagonala principala (inclusiv) egale cu zero.
Convergenta metodei implica dominanta diagonala in cadrul matricii A.
Pe baza descompunerii de ma sus se va obtine o relatie de iteratie si cu ajutorul careia
vom obtine sirul de aproximatii sucesive pentru solutia exacta a sistemului.
Sa obtinem aceasta relatie de iteratie.
Inlocuind matricea A cu descompunerea specificata obtinem
( L U ) X b LX UX b LX UX b
71
(k). Pe masura ce se obtin componentele vectorului solutie la iteratia (k+1), acestea sunt
folosite la calculul celorlalte componente.
Problema alegerii conditiei initiale, ca si la metoda Jacobi, ramane in seama
utilizatorului.
Calculul iterativ poate inceta la indeplinirea urmatorului criteriu , amintit si la alte metode
iterative
max xi( k 1) xi( k )
i 1,.., n
unde
( k 1)
X (k )
, k 0,1,...
De regula, metoda Seidel - Gauss aduce un plus de viteza de convergenta fata de metoda
Jacobi. Astfel, este de asteptat ca, pornind de la o aceeasi aproximatie initiala, metoda
Seidel - Gauss sa asigure precizia impusa intr-un numar mai mic de iteratii.
Algoritm
Intrri:
= precizia
Ieiri:
{
k 0
py
x y
| p q | p
72
S 0
pentru j 1 : i 1
s s aij x j
pentru j i 1 : n
s s aij y j
xi (b s ) / aii
}
p y
q x
yx
k k 1
}.
jacobiIt
Rezolvarea
unui
sistem
de
ecuaii
liniare
err
= eps ; end
for k = 1 : nr
for i = 1 : n
s = 0;
for j = 1 : n
73
end
%calcul eroare
if max(abs( x x0)) < err %/norma
nrX = k ; break;
end
x 0 = x;
end
Calculul soluiilor unui sistem de ecuaii liniare folosind metoda lui Jacobi poate fi
realizat i utiliznd urmtorul script metoda_Jacobi.m
x=[0;0;0;0];
b=[15;1;-6;17];
A=[20 4 5 3;3 10 -1 2;1 -1 10 4;-1 1 -2 5];
D=diag(diag(A));
C=D-A;
for i=1:6
x=inv(D)*C*x+inv(D)*b
end
74
0.9357
-0.8715
-2.0395
2.8370
x =
1.0086
-0.9521
-1.9155
2.9457
x =
0.9774
-0.9833
-1.9743
3.0259
x =
0.9863
-0.9959
-2.0064
3.0024
A -matricea coeficienilor
x
err
-vectorul necunoscutelor
-precizia
x 0 = zeros (length(b),1) ;
x = x 0;
M = D L;
75
invM = inv ( M );
N = M A;
T = invM * N ;
c = invM * b;
nr
for k = 2 : nr
x = T * x c;
quad
T -matricea
de
iteraie,
vectorul de iteraie
%condiia de stop
if ( sum( abs ( x x 0)) < err )
nrX = k 1 ;
return
end
x0 = x ;
end
error( 'S-a depit numrul de iteraii');
Exemplul 2
3
20
S se rezolve sistemul AX = b unde A =
19
10
4
5
1
5
5
2
2
1
15
3
, prin
, i b =
21
1
5
17
10
1
1
1
10
2
15
, b' = 1 ,
6
4
5
17
2
= 2 0 , 2' = 10 , 3' = 2 0 3 0 ,
4' = 4 0.
76
unde
20
0
D =
0
0
10
0
0
0
0
0
0
0
10
0
matricea diagonala
4 5
0
3 0
1
C=
1 1
0
1 2
1
3
2
4
X ( k 1) ,
(k )
reprezint aproximaiile de
x1
Se observ c pentru
k = 0
x2
x3
x4
funcie de cea de ordin 0, care reprezint i condiia iniial a procesului iterativ. Alegerea
condiiei iniiale este unul din aspectele importante al oricrui proces iterativ.
S lum
X (0)
0
0
=
0
0
0.2
0.2
0
0.1
0.2
0.25
0.1
0
0.4
0.15
0.75
0.1
0.2
,
,d =
0.6
0.4
3.4
unde
77
D 1
1/20
0
=
0
1/10
0
0
0
1/10
0
0
0
0
1/5
<1
0.6
0.6
= max
= 0.8 = q < 1.
1 i 4 0.6
0.8
x1( k 1)
( k 1)
x2
x3( k 1)
( k 1)
x 4
0.2
0
0.3 0
=
0.1 0.1
0.2 0.2
0.25
0.1
0
0.4
0.15
0.2
0.4
x1( k )
(k )
x2
x3( k )
(k )
x 4
0.75
0.1
0.6
3.4
x1 , x2 , x3 , x4
Dnd valori lui k = 0,1,.., n, obinem pentru fiecare necunoscut cte un ir de aproximaii
succesive ce pentru un numr suficient de iteraii vor tinde la soluiile exacte ale
sistemului. Una din condiiile de oprire a procesului iterativ va fi cnd diferena n modul
ntre dou aproximaii succesive se va ncadra ntre limitele unei precizii date.
Avem urmtorul tabel de valori:
78
X=
conditia
initiala
k =0
k =1
x1
x2
x3
x4
x10 = 0
x20 = 0
x30 = 0
x40 = 0
x1' = 0.75
x12 = 0.3700
x'2 = 0.1
x22 = 0.865
x3' = 0.6
x32 = 2.0250
x'4 = 3.4
x42 = 3.290
k=2
k =3
x13 = 0.9357
x14 = 1.0086
x23 = 0.8715
x24 = 0.9521
x33 = 2.0395
x34 = 1.9155
x43 = 2.8370
x44 = 2.9456
......
k =9
...........
x110 = 0.998
............
.................
.............
10
10
x2 = 0.9999 x3 = 2.0002 x10
4 = 2.9998
k = 10
x310 = 1.9999
x10
4 = 2.9999
Se observ c diferenele dintre ultimele aproximaii sunt tot mai puin oscilante aa c
procesul de calcul se poate opri. n limitele preciziei date putem aproxima soluiile
sistemului cu valorile:
x1 = 1 , x
x3 = 2 , x
= 1 ,
= 3.
Exemplul 3
S considerm exemplul 2 de la metoda lui Jacobi cu matricea sistemului adus la
forma diagonal dominant.
S rezolvm sistemul cu ajutorul metodei lui Gauss Seidel
Fie deci AX = b ,unde
A=
20 4
3 10
5
1
3
2
1 10 4
2 5
1 1
,b =
15
1
17
,X =
x1
x
2
x3
x4
,U = 0
1 1 10 0
0
1 1 2 5
0
L=
4 5 3
0
0
1
0
2
4
79
20
3
0
10
1
1
0
0
10
2
0
0
0
x1( k 1)
( k 1)
x2
x3( k 1)
( k 1)
x4
0
0
=
0
4
0
0
0
5
1
0
0
3
2
4
x1( k )
(k )
x2
x3( k )
(k )
x4
15
1
6
17
Gauss-Seidel:
( 0)
0
0
0
x1
x10 = 0
'
x1 = 0.75
x12 = 0.4518
x13 = 0. 989 2
x2
x 02 = 0
'
x 2 = 0.125
x 22 = 0. 7643
x 32 = 0.9662
x3
x30 = 0
'
x3 = 0.6875
x32 = 2.0416
x33 = 1. 92 61
x4
x40 = 0
'
x4 = 3.3
x42 = 2.8265
x43 = 2. 9902
k =3
x14 = 0.9717
x 24 = 0. 9882
x34 = 2.0042
x44 = 2.9902
... . ..
.. . .. .. ... ..
. .... . .. .....
k =6
x1 = 1.00004
x 2 = 0. 9999
x3 = 1.9999
x4 = 3. 0000
k =7
x18 = 0. 999 9
x 82 = 0.9999
x38 = 2. 00 0
x48 = 2. 9999
80
CURS 7
Aproximarea functiilor prin polinoame
7.1 Introducere
Pentru o funcie f : [ a, b] R problema aproximrii ei printr-un polinom se
consider fie cnd este dificil de evaluat f, fie cnd nu se cunoate expresia analitic a lui
f ci doar valorile ei n anumite puncte xi [a, b] ,
i 0, n
xi [ a, b] , i 0, n ,
cu
i 0, n
calculul acestor polinoame. Bernstein, n 1912, d o metod prin care putem calcula,
pentru o funcie continu pe [ a, b] , un ir ( Pn ) n de polinoame uniform convergent
ctre f.
Fiind dat o funcie arbitrar f : [a, b] R se consider problema stabilirii unui
criteriu de alegere a polinomului P care s aproximeze funcia dat. Astfel este necesar un
instrument matematic pentru msurarea distanei dintre dou funcii, care impune situarea
ntr-un spaiu vectorial normat complet i n funcie de stabilirea criteriului de alegere a
polinomului P care s aproximeze funcia f vom avea metode de aproximare a funciilor
prin polinoame i anume: aproximarea prin interpolare, aproximarea n medie ptratic.
Fie B un spatiu liniar real de functii definite pe un interval [a,b],
{i : B R i 1,..., N }
81
Definitie
7.1.1
Operatorul
de
aproximare
P:B A
cu
proprietatea
ca
f : [ a, b ] R
i 0, n
ale diviziunii d[ a , b ] i
i 0, n
i 0, n
82
P ( xi ) f i pentru i 0, 1, ..., n .
Demonstraie.
Deoarece k ( x k ) 1 urmeaz c
n
k ( x)
xxj
j 0 xk x j .
j k
( Ln f )( x ) f ( x k ) k ( x ) .
k 0
ntr-adevr,
n
( Ln f )( xi ) f k k ( xi ) f i , pentru i 0, 1, ..., n .
k 0
( L1 f )( x )
x x1
x x0
f ( x0 )
f ( x1 )
x 0 x1
x1 x 0
n=2
( L2 f )( x)
( x x1 )( x x 2 )
( x x 0 )( x x 2 )
( x x0 )( x x1 )
f ( x0 )
f ( x1 )
f ( x2 )
( x0 x1 )( x 0 x 2 )
( x1 x 0 )( x1 x 2 )
( x 2 x0 )( x 2 x1 )
Ln (f g ) l k [f ( xk ) g ( xk )] Ln f Ln g .
k 0
Idempotenta
n
k 0
k 0
( L2n f )( x) l k ( x)( Ln f )( xk ) l k ( x) f ( xk ) ( Ln f )( x) .
Pentru calculul valorii polinomului de interpolare Lagrange ntr-un punct a folosind
n
Algoritm
Intrri:
Ieiri:
84
{
0
pentru i 0 : n
{
P 1
pentru j 0 : n
dac j i atunci
P P (a x j ) /( xi x j )
yi P
}
}.
O(n 2 ) ,
mai exact
4n 2
operaii ( n( 2n 3) adugri,
85
7.2.3
f : [ a, b ] R
f ( x ) ( Ln f )( x) ,
( Ln f )( x )
este
polinomul
de
interpolare,
astfel
( Ln f )( xi ) f i , i 0, 1, ..., n .
f C n 1 [ a , b ]
i a x0 x1 ... xn b atunci
f ( x ) ( Ln f )( x)
( x x0 )( x x1 )...( x xn )
f
( n 1)!
( n 1)
( ) ,
unde w( x ) ( x x0 )( x x1 )...( x x n ) .
Din condiiile de interpolare F ( xi ) 0 , i 0, 1, ..., n .
86
F " cel
( a, b) i deci 0 F ( n 1) () f ( n 1) () c( n 1)! .
Mn
sup
y[ a , b ]
| f ( n 1) ( y ) |
, se poate evalua
| f ( x) ( Ln f )( x) |
M n | w( x) |
. x [ a, b ] .
(n 1)!
u (t ) (t xi )
i 0
sa fie minim.
S-a demonstrat ca alegerea nodurilor egal echidistante duce in aparopierea capetelor
intervalului candn n creste la erori semnificative (efectul Runge).
Nodurile de tip Cebasev
polinoamelor Cebasev.
87
O formula explicita
Tn ( x ) cos(n ar cos x), x [ 1,1], n 0,1,2,....
2) Tn cos
3) Tn cos
x [1,1]
i
i
(1) ,
n
i 0,1,..., n
2i 1
0 , i 1,.., n
2n
1
max f
2 ( n 1)! 1t 1
( n 1)
(t )
x 1.
Aceste noduri sunt doar pentru intervalul [-1,1] pentru alte intervale se vor transforma
adecvat.
Aceste noduri sunt optimale pentru ca asigura aproximarea datelor pentru un minim al
erorii. In situatia interpolarii polinomiale cu noduri echidistante contrar intuitiei noastre,
eroarea de interpolare nu tinde la zero cand crestem numarul punctelor de interpolare
(implicit, gradul polinomului), situatia fiind chiar mai rea. Rezultatul urmator a fost
demonstrat de Faber in 1924.
Teorema
7.2.5
(Faber)
Pentru
un
sistem
de
noduri
de
interpolare
n .
88
ba
(2i 1) a b
cos
2
2n
2
i 1, n
g
si Pn este
f
g
polinomul de interpolare pentru g, atunci Pn Pn este polinomul de interpolare pentru
f+g, si deci
E ( f g ; x) f ( x) g ( x) Pnf ( x) Png ( x) E ( f ; x) E ( g ; x).
f ( x) x ,
x [1,1] ,
2i
Pn ( x) f ( x) daca
, i 1, n , atunci lim
n
n
x {1,0,1}.
1
, x [5,5].
1 x2
f C [5,5].
xi 5
10
i,
n
i 0, n .
89
Pn ( x) f ( x ) dac
Se poate arata ca lim
n
x c,
x c
Pn ( x) f ( x ) dac
si lim
n
i 0, n
din
intervalul [ a, b] , dat dinainte, exist o funcie continu f : [a, b] R , astfel nct irul
polinoamelor lui Lagrange {Pn } care interpoleaz funcia f n aceste noduri nu converge
uniform la f pe [ a, b] .
Se constat n practic faptul c pentru un punct a [ a, b] , eroarea f (a ) Pn (a ) scade
pn la un punct pe msura ce n crete, i deci, pentru n relativ mic Pn (a ) aproximeaz
acceptabil valoarea f (a ) . Pentru valori mari ale lui n, interpolarea Lagrange nu este
recomandat.
90
f 00
x1
f10
f11
x2
f 20
f 21
f 22
x3
f 30
f 31
f 32
.
.
.
xm
f m0
f m1
f 33
f m2
f m 3 ......
f mm
1 f j xj x
f ,ji 1
xi xj fij xi x
x x0
x x1
f ( x0 )
f ( x1 ) ( L1 f )( x )
x0 x1
x1 x0
Prin urmare,
f11 , f 22 ,...., f ii ,..., f mm
este un sir de aproximatii ale lui f (x) , constand din valorile polinomului Lagrange
respective de gradul 1,2,,m, pe punctual
ordinea x0 , x1 ,...., xm .
Daca procedeul de interpolare converge sirul definit mai sus converge si el, adica
91
lim f mm f ( x).
Pe baza criteriului de convergenta a lui Cauchy rezulta din limita de mai sus
lim f ii f i 1,i 1 0
i
si reciproc.
In consecinta in aplicatii este justificata folosirea diferentei
f ii f i 1,i 1
, pentru
conditia
f ii f i 1,i 1
daca i j , i, j 1,..., m .
valLmf
Calculeaz
valoarea
polinomului
de
interpolare
m gradul
polinomului Lagrange
m 1
l = zeros( 0, m );
for k = 0 : m
p1 = 1; p 2 = 1;
for j = 0 : m
if ( j k )
p1 = p1* ( x X ( j 1));
p 2 = p 2 * ( X ( k 1) X ( j 1));
end
92
%
k = 0, m
l (k ) = p1/p 2;
end
end
v = sum(l. * Y );
n = lenght ( X );
for j = 2 : n
for k = n : 1 : j
A(k ) = ( A( k ) A( k 1))/( X (k ) X (k j 1));
end
end
x 0 = X (1);
df = A(2);
prod = 1;
n1 = lenght ( A) 1;
for k = 2 : n1
prod = prod * ( x 0 X ( k ));
end
Exemplul 1
S se scrie polinomul de interpolare Lagrange pentru datele din tabelul:
x
f ( x)
1
1
1
0
2
1
93
Soluie.
Identificm din datele problemei nodurile de interpolare
x0 = 1, x1 = 1, x 2 = 2
( x x1 )( x x 2 )
x 2 3x 2
=
( x 0 x1 )( x 0 x 2 )
6
l1 ( x) =
( x x0 )( x x 2 )
x2 x 2
=
( x1 x0 )( x1 x 2 )
2
l 2 ( x) =
( x x 0 )( x x1 )
x2 1
=
( x 2 x 0 )( x 2 x1 )
3
Avem n final:
L2 f ( x ) =
x 2 3x 2
x2 x 2
x2 1
x( x 1)
1
0
1 =
6
2
3
2
Exemplul 2
Fie funcia
f ( x) =
u ( x)
3!
obinem:
94
R2 f (115)
15 6 9
6
f ''' = f '''
3!
n final avem:
R2 f (115) 1.6 10
Exemplul 3
S considerm funcia f ( x ) =
1
x2
xmax
= max ( x );
/*
vectorul
valorilor
care
se
valLmf,
polinomului
Lagrange
cu
funcia
ZZ ( k ) = z;
end
95
Curs 8
8.1 Diferene divizate
Definiie 1.3.1 S considerm f : I R . Diferenele divizate de ordinul p se definesc
astfel:
pentru p 0 [ x0 ; f ] f ( x0 );
96
pentru p 1 [ x0 , x1 ; f ]
f ( x1 ) f ( x0 )
;
x1 x0
f ( xi )
,
i 0 u ' ( xi )
i) [ x0 , x1, ,...., x p ; f ]
unde u ( x ) ( x xi )
i 0
W ( x , x ,...., x ; f )
0
1
p
ii) [ x0 , x1, ,...., x p ; f ] V ( x , x ,...., x ) , unde V ( x0 , x1 ,...., x p ) este
0
1
p
determinantul
Vandermonde
ce
nodurilor xk , k 0,.., p i
corespunde
( )
, [a, b].
p!
( p)
Pentru r N , r m , mrimea
[ x r , x r 1 ; f ]
f ( x r 1 ) f ( x r )
x r 1 x r
[ x r 1 ,...., x r k ; f ] [ x r ,..., x r k 1 ; f ]
xr k xr
F { f f : X R}. Aplicaia
( x r , x r 1 , f )
D: X2 F R
f ( x r 1 ) f ( x r )
,
x r 1 x r
97
Df
x0
f0
Df 0
D2 f0
x1
f1
Df 1
D 2 f1
x2
f2
Df 2
D2 f2
Df m 2
D 2 f m 2
D2 f
D m1 f
D m1 f 0
.
.
Dm f
Dm f
D m1 f1
.
xm2
f m2
x m 1
f m 1
xm
Df m 1
fm
unde f i f ( xi ), i 0,1,..., m .
Prin urmare elementele tabloului de mai sus se determin dup formula recursiv
( D k 1 f )( xi 1 ) ( D k 1 f )( xi )
( D f )( xi )
, k 1,..., m;
xi k xi
k
i 0,..., m k .
im
98
0
1
cu conveniile h I si h h , se numete diferena
1 k m 1.
(8.2.1)
99
In continuare vom prezenta unele formule sau procedee de exprimare a diferenelor finite
de ordin superior cu ajutorul valorilor funciei, precum i a valorii unei funcii pe un
punct cu ajutorul diferenelor ei finite , formule utile n calculul cu diferene.
Teorema 8.2.6 Dac f : M R , atunci
m
m
i
i
( h f )(a ) (1) Cm f (a (m i )h).
(8.2.2)
i 0
1) m e a
Ai e a ( mi ) h .
i 0
i 0
i 0
(1)i Cmi e( m i ) h Ai e( m i ) h.
Rezult c Ai (1)i Cmi
Observaie Pe baza proprietii de simetrie a combinrilor, formula (8.2.2) se mai poate
scrie
m
( h f )(a ) (1)
m
m i
i 0
Cmi f (a ih).
(8.2.3)
f (a k ) Ck ( h f )(a ).
i
(8.2.4)
i 0
100
0
( h f )(a ) f ( a)
( 1h f )( a) f ( a h) f ( a)
.............
k
f ( a kh) Bi ( ih f )(a)
(8.2.5)
i 0
hk
h
k
e [(e 1) 1]
i 1
i 0
i
h
i
h
i
dup simplificarea cu e , devine Ck (e 1) Bi (e 1) . Rezult deci c
Bi Cki
(8.2.7)
i 0
m 1
Cmi 1 ((ih f )(a )(mh 1 g )(a ih) ( ih1 f )(a )(mh i 1 g ( a (i 1) h)))
i 0
i 0
k 1
(mh fg )(a ) Cmi 1 (ih f )(a )(mh 1 g )( a ih) Cmk 11 ( kh f )(a )( mh k g )(a kh)
(mh fg )(a ) f (a )(mh g )(a) Cmi 1 Cmi 11 (ih f )(a )(mh i g )(a ih)
i 1
Cum
102
m m11 m
i i1 i
teorema este complet demonstrat.
Dac xi a ih, i 0,1,..., m, a, h R atunci
( ph f )( x ) p! h p [ x, x h,..., x ph; f ] ,
relatie care stabilete legatura dintre diferenele divizate i diferenele finite, n cazul
nodurilor echidistante.
De mare utilitate pentru calcul este tabloul cu diferene finite.
Folosind notaiile f i f (ai ) ,avem:
fh
a0
f0
h f0
2h f 0
3h f 0 .....
a1
f1
h f1
2h f1
3h f1 .....
mh -1 f1
a m 3
f m 3
am2
f m2
h f m 3
2h f m 3
3h f m 3 ....
mh -1 f1
a m 1
f m 1
h fm2
2h f m 2
am
fm
2h f
3h f
.....
mh -1 f
mh -1 f 0
mh f
mh f 0
h f m 1
103
unde
kh f i kh1 f i 1 kh1 f i , k 1,..., m; i 0,1,..., m k
(8.2.8)
ale
unei
funcii,
relativ
la
multime
de
puncte
echidistante
elementele coloanei precedente prin simple scderi, prin urmare, tabloul se completeaz
pe coloane.
Relaiile (8.2.8) permit i o programare simpl pentru generarea tabloului cu
diferenele finite la calculator.
In multe aplicaii concrete intervin numai elementele de pe latura superioar sau
inferioar a acestui tablou triunghiular. In astfel de cazuri este necesar reinerea numai a
unei pri din elementele tabloului, ceea ce permite, avnd n vedere c odat elementele
coloanei k fiind calculate, elementele coloanei k-1 nu mai intervin n calculele urmtoare,
o esenial economie de memorie.
Mai concret, dac trebuie reinute numai diferenele de pe latura superioara,
kh f 0 , k 1,..., m, atunci pe lnga zona de memorie care nregistreaz datele iniiale
k
mai sunt necesare m locaii care n diferenele h f 0 deja calculate,de exemplu pentru
k 1,...., i
i
precum i restul elementelor coloanei i, adic h f j , j = 1,,m-i.
n = lenght ( X );
for j = 2 : n
104
for k = n : 1 : j
A(k ) = ( A( k ) A( k 1))/( X (k ) X (k j 1));
end
end
x 0 = X (1);
df = A(2);
prod = 1;
n1 = lenght ( A) 1;
for k = 2 : n1
prod = prod * ( x 0 X ( k ));
end
F [ x0 , x1 ] =
(8.3.1)
F [ x0 ] F [ x1 ]
x0 x1
105
F [ x 0 ,....., x k ] =
F [ x0 ,...x k 1 ] F [ x1 ,...., x k ]
x0 xk
(8.3.2)
unde prin relaia (8.3.1) am notat diferenele divizate de ordin 0, iar relaia (8.3.2) d
diferenele divizate de ordin k , corespunztoare nodurilor x0 , x1 ,...., xk
Aceste
f ( xk )
F [ x0 ,....., x k ] =
i 0
j 0
(8.3.3)
( xi x j )
f ( xi ) = yi
x0
y0
x1
x2
y1
y2
x3
x4
y3
y4
ord I
ord II
F [ x0 , x1 ]
F [ x0 , x1 , x2 , x3 ]
F [ x0 , x1 , x2 ]
F [ x1 , x2 , x3 , x4 ]
F [ x1 , x2 , x3 ]
F [ x2 , x3 , x4 ]
F [ x1 , x2 ]
F [ x2 , x3 ]
ord III
ord IV
F [ x0 , x1 , x2 , x3 , x4 ]
F [ x2 , x3 ]
y j = ( y j y j 1 )/( x j x j 1 )
n:
N n f ( x) = c 0 c1 ( x x 0 ) c 2 ( x x 0 )( x x1 ) ..... c n ( x x 0 )( x x1 )....( x x n 1 )
(8.3.4)
106
m derivate
f m ( z)
m!
(8.3.5)
Metoda prezint un algoritm de calcul relativ stabil din punct de vedere numeric, avnd
erori acceptabile ale rezultatului. De asemenea metoda prezint avantajul c permite
mrirea gradului de interpolare, prin adugarea unui nod nou, cu reutilizarea
coeficienilor de la gradul anterior, deci un efort de calcul sczut.
n ce
satisface relaiile:
Pn ( xi ) y i , i 0,1,..., n
ci al polinomului de
Pn ( x) f ( x0 )
......
n f ( x0 )
n!h
f ( x 0 )
2 f ( x0 )
3 f ( x0 )
[ 2]
( x x n )[1]
(
x
x
)
( x x n 2 ) [ 3]
n 1
1! h
2! h 2
3!h 3
( x x1 ) [ n ]
Aproximarea funciei prin polinomul Newton ascendent este avantajoasa pentru valorile
t in modul, mic.
Expresia de mai sus se poate pune intr-o forma mai avantajoas pentru aplicatii daca se
face schimbarea de variabila
t
x x0
h
si se tine seama ca
( x x0 )[ i ] x x0 x x0 h x x0 2h x x0 (i 1) h
...
hi
h
h
h
h
t (t 1)(t i 1)
Pn ( x) P ( x0 th) f ( x0 )
f ( x0 )
2 f ( x0 )
n f ( x0 )
t
t (t 1) ....
t (t 1)(t n 1)
1!
2!
n!
t n modul mic.
108
Expresia
f ( x ) f ( x ) f ( x h )
se numete diferen finit (la stnga) de ordinul nti. Diferenele finite la stnga de
ordin superior se definesc cu ajutorul relaiei:
n f ( x ) ( n 1 f ( x ))
f ( x1 )
f ( x3 ) . .. f ( xn 3 ) f ( x n 2 )
f ( x2 )
f ( x n 1 )
f ( xn )
f ( x1 ) f ( x 2 ) f ( x3 ) . f ( x n 2 ) f ( x n 1 ) f ( x n )
2 f ( x 2 ) 2 f ( x3 ) 2 f ( x n 2 ) 2 f ( x n )
3 f ( x3 ) 3 f ( x n )
.
.
.
.
n f ( xn )
Pn ( x) f ( x0 )
......
n f ( x0 )
n!h
f ( x 0 )
2 f ( x0 )
3 f ( x0 )
[ 2]
( x x n )[1]
(
x
x
)
( x x n 2 ) [ 3]
n 1
2
3
1!h
2!h
3!h
( x x1 )[ n ]
109
x xn
h
Se obine
f ( x n )
2 f ( xn )
3 f ( xn )
t
t (t 1)
t (t 1)(t 2)
1!
2!
3!
n f ( xn )
....
t (t 1)....(t n 1)
n!
Pn ( x) Pn ( x n th) f ( x n )
t n modul mic.
algoritmul este stabil din punct de vedere numeric, avnd erori numerice
acceptabile ale rezultatelor;
permite mrirea gradului polinomului de interpolare prin inserarea unui nod nou
n reeaua de interpolare, cu reutilizarea coeficienilor de la gradul anterior, care
nu se modific, deci i un effort minim de calcul;
Observaie Evident polinoamele Lagrange i Newton difer numai prin form, pentru
aceeai reea de puncte, restul fiind acelai n ambele forme. Ca volum de calcul n
schimb se prefer polinomul lui Newton care necesit un numr de operaii aritmetice de
O (3 N 2 / 2) fa
acelai pentru ambii algoritmi. Aa cum s-a vzut n cazul polinomului de interpolare
Newton este nevoie de o matrice suplimentar n cares e memoreaza tabelul diferenelor
divizate, ns din tabele se folosesc doar N coeficieni , existnd posibilitatea refolosirii
celulelor de memorie. Aceasta este partea cea mai costisitoare a algoritmului Newton.
110
D = zeros ( n, n);
D (:,1) = Y' ;
for j = 2 : n
for k = j : 2
D (k , j ) = ( D( k , j 1) D( k 1, j 1))/( X (k ) X ( k j 1));
end
end
C = D ( n, n);
for k = (n 1) : 1 : 1
C = conv(C , poly ( X (k )));
m = lenght (C );
C ( m) = C ( m) D( k , k );
end
Exemplul 1
Pentru funcia f ( x) sin x i nodurile x0 = 0, x1 = 1/6, x2 = 1/2 , s se construiasc
un polinom de interpolare de gradul doi.
Soluie.
Deoarece nodurile sunt neechidistante vom folosi polinomul de interpolare
Newton cu diferene divizate conform tabelului:
111
xi
f ( xi )
F [ xi , x j ]
1/2 0
=3
1/6 0
1/6
1/2
1/2
1 1/2
= 3/2
1/2 1/6
F[ xi , x j , x k ]
3/2 3
= 3
1/2 0
Exemplul 2
Calculai diferena divizat de ordinul patru pentru datele tabelei de mai jos:
x
0
1
2
4
5
y
0
16
48
88
0
Scriei polinomul Newton cu diferene divizate i calculai aproximativ valoarea
f (2.3) .
Soluie.
Calculm mai nti diferenele divizate iar rezultatele sunt date n tabela
i
ord. I
36
0
16
48
88
ord. II
ord. III
ord. IV
1
16
32
20
88
Se obine:
N 4 f ( x ) = 16 x 8 x ( x 1) 3 x ( x 1)( x 2) x ( x 1)( x 2)( x 4)
= x
4 x 3x
10 x
112
xk
10
1
3
8
20
folosind interpolarea Newton cu diferene la dreapta.
yk
Indicaie.
Se vor calcula diferenele finite la dreapta folosind tabelul de mai sus i vom avea
n final
N 3 ( x) =
1
(2 x 3 27 x 2 142 x 240) .
24
CURS 9
Valori i vectori proprii
Valorile i vectorii proprii joac un rol fundamental n descrierea matematic a unor
categorii largi de procese tehnice, economice, biologice etc. De exemplu, proprieti
eseniale cum sunt cele referitoare la stabilitatea sistemelor dinamice autonome modelate
printr-un sistem de ecuaii difereniale liniare:
dx
Ax
dt
113
T
n care x ( x1 , x2 ,..., xn ) este vectorul variabilelor de stare, exprimat prin intermediul
valorilor proprii ale matricei [A], numita matrice de stare. Astfel, valorile proprii pot
corespunde unor valori critice ale valorilor unor unor parametri ai sistemului dinamic,
unor frecvente de oscilatie cand sunt complex conjugate.
Fie A o matrice cu n linii i n coloane cu coeficienii din corpul K, unde K este R sau C.
Scalarul din K se numete valoare proprie pentru A dac exist vectorul x K n astfel
nct:
Ax= x
Vectorul x se numete vector propriu asociat valorii proprii . Relaia Ax=x poate fi
scris echivalent (I n A) x 0 , unde I n este matricea unitatea de ordinul n. Sistemul
liniar omogen (I n A) x 0 admite o soluie nenul x dac i numai dac
det(I n A) 0 . Polinomul PA ( ) det(I n A) se numete polinom caracteristic al
valorilor
proprii
ale
matricei
formeaza
spectrul
matricei
114
Daca A are n vectori proprii liniar independenti se numeste simpla sau nedefectiva. In caz
contrar se numeste defectiva. O matrice simpla are toate valorile proprii simple.
Dac Ax = x, atunci A k x k x . Astfel valorile proprii ale puterii k a matricei A
sunt puterile k ale valorilor proprii ale matricei A. Mai general, dac p este un polinom i
Ax = x, atunci p(A)x = p()x.
Teorema 9.1 Doua matrici cu elemente reale, A, B M nn sunt similare daca si numai
daca exista o matrice nesingulara S M nn astfel ca
B S 1 AS
metode globale determin toate cele n valori proprii i toi cei n vectori
proprii,
115
116
1
cos
R ( p, q ) =
sin
sin
(9.1)
cos
rii = 1, i p i q
rij = 0 in rest
Deoarece matricea este simetric cutarea elementului maxim de mai sus se poate
restrnge la triunghiul superior al matricei.
117
(9.2)
'
Relaia (9.2) conduce la urmtorul algoritm de calcul pentru coeficienii aij ai matricei
de
rotaie:
a ' pi a pi cos aqi sin , i p, q
a 'ip aip cos aiq sin , i p, q
a 'qi a pi sin aqi cos , i p, q
a 'iq aip sin aiq cos , i p, q
a ' pp a pp cos 2 aqq sin 2 2a pq sin cos
a 'qq aqq sin 2 aqq cos 2 2aqp sin cos
a 'qp aqp cos 2 1 / 2( aqq a pp ) sin 2
a ' pq a pq cos 2 1 / 2( aqq a pp ) sin 2
din
tan 2 =
2aqp
app aqq
, p < q.
Cu ajutorul relaiei (9.2) se poate defini un ir de matrici similare prin schimbarea lui q
cu p , obinndu-se
A1 = A
A2 = R1T A1 R1
..........................
Ak 1 = RkT Ak Rk
..............................
unde fiecare transformare similar ortoganal are drept scop s anuleze 2 elemente
simetrice din afara diagonalei principale. Elementul aqp este denumit pivotul rotaiei
plane din planul ( q, p ).
Sirul de iteraii de mai sus trebuie continuat pn cnd suma ptratelor
elementelor
din
afara
diagonalei
principale
matricei
118
Ak 1
> 0.
Ak 1
aproximeaz
destul
de
bine
valorile
proprii
ale
matricei
considerate.
(9.3)
R T AR D
(9.4)
valorii proprii
j,
corespunztor
(9.5)
119
n
s = aii2 .
k i1
Obinem astfel i o condie de oprire a procesului iterativ:
s k 1 s k
unde
aqq a pp
2apq
, atunci tan =
sgn( )
1 2
A.
Dac notm cu
1
1 tan 2
(9.6)
-dimensiunea matricei A
eps precizia
Date de ieire
j = 1,..., n
120
s1 = eps 1
eps
ct timp s1
max=
a (1,2)
p = 1, q = 2;
pentru i = 1, n
pentru j = i 1, n
dac max<
max=
a (i , j )
a (i , j )
p = i, q = j;
2 /2, d =
2 /2;
altfel
c = cos ( arctan (2a ( p, q )/( a ( p, p ) a ( q, q )))/2)
a ( q, q ) = a ( p, p ) s 2 a ( q, q )c 2 2a ( p, q ) sc
a( p, q) = (a(q, q) a( p, p))sc (c2 s2 )bpq
pentru i = 1, n
dac (i p )
si
(i q ) atunci
a (q, i ) = a (i, q )
pentru j = 1, n
dac ( j p ) si ( j q ) atunci
a (i , j ) = a (i , j )
a ( j , i ) = a (i, j )
s1 = 0
pentru i = 1, n
s = s a (i, i ) a (i, i )
pentru i = 1, n
i = aii
Exemplul 1
Calculai valorile i vectorii proprii asociat matricei A .
A =
3
1
0
1
2
1
1
3
Soluie
Valorile proprii ale matricei vor fi soluiile ecuaiei caracteristice
det ( A I ) = 0
3 1 0
det 1 2 1 = 0 ( 3)(2 5 4) = 0 1 = 3, 2 = 1, 3 = 4
0 1 3
Calculul vectorilor proprii asociai acestor valori. Pentru fiecare valoare proprie vom
calcula i vectorul propriu asociat.
Pentru = 1 avem conform (4.1)
3 1 0 x1 x1
1 2 1 x2 = x2
0 1 3 x x
3 3
Obinem sistemul
2 x1 x2 = 0
x1 x2 x3 = 0
x 2x = 0
2
3
122
cu soluia x1 = a, x2 = 2a, x3 = a .
Vectorul propriu asociat este deci
1
X = a 2 , a R
1
= a
si
= a
, a R
X = 2
1
0
1
1
0
0
D =
0
4
0
3
0
Exemplul 2
S se gaseasc cu metoda lui Jacobi, valorile si vectorii proprii asociai matricei
simetrice:
A =
3
1
1
1
3
1
1
3
Soluie
Se caut elementul apq = 1 i j n max aij al matricii
p = 1,
a12 = 1;
q = 2;
a pp = 3 ,
aqq = 3;
= 0 tan = 1.
baza
lui
(4.4)
se
construiete
cos = sin =
matricea
de
rotaie
1
.
2
asociat
matricii
A :
R
1
1/
2
1/
0
1/
1/
0
2
2
0
0
A1 = R AR1 = 0 4 2 .
0 2 3
t
1
123
1
2 2
2 = 1 i j n max aij p = 2; q = 3;
; tan =
2
cos =
2
1 0
R2 = 0
2/ 3
0 1/ 3
A2 = R AR2 = 0
0
t
2
0
5
0
2
1
, sin =
3
3
1/ 3
2 / 3
0 1 = 2, 1 = 5, 1 = 2.
2
CURS 10
Integrare numeric
124
[ xi 1 , xi ]
(i=1,2,n),
Numim integral definit a funciei f(x) pe intervalul [a, b] limita sumei integrale cnd
numrul de puncte de divizare crete la infinit. n acest caz lungimea celui mai mare
segment elementar tinde spre zero
b
f ( x )dx
lim
max xi 0
f (
i 0
) x i
Mn
Mn-1
y=f(x)
Mi
M2
M1
s1 s2 si
sn-1
sn
a 1 2
b
f
(
x
)
dx
F
(
x
)
F (b) F (a)
a
a
ns, n practic, formula dat nu poate fi folosit din urmtoarele cauze:
1. expresia analitic nu permite integrare direct;
2. valorile f (x ) snt cunoscute numai n numr finit de puncte xi cu alte cuvinte,
funcia este exprimat tabelar.
n astfel de cazuri snt folosite metodele de integrare numeric. Cea mai simpl metod
este metoda dreptunghiurilor, care direct folosete nlocuirea integralei definite cu suma
integral.
n calitate de puncte
Xi-1
Xi
Xi +1
0
b
f ( x)dx h y
1
h2 y1 ... hn y n 1 Rn
126
x0=a x1 x2
x0=a x1 x2
xn=b
xn=b
x0=a x1 x2
xn=b
0 sau
f ( x)dx h y
h2 y2 ... hn yn Rn
1 1
xi 1 xi
Rn
2
f ( x)dx hi f
i 1
f ( x)dx h
a
i 1
f ( xi 1 ) f ( xi )
Rn
2
(metoda trapezelor).
Pentru a efectua calculul integralei cu aproximarea prestabilit , n cazul cnd f (x )
este definit analitic, cel mai convenabil este s mprim intervalul de integrare n n
segmente egale (h=(b-a)/n) i s folosim estimarea aposteriori a erorii dup regula lui
127
Runge. n acest caz nu trebuie s calculm derivatele de ordinul nti i doi ale funciei
f (x ) , i s cutm valoarea maxim a derivatei de ordinul doi.
y
f(x)
0
a
x
Fig. 1
128
Sensul geometric al integralei
defiinte
y
f(x)
a = x0 x1 x2
Considerm o
segmentului
...
xn-1
xn = b
Fig. 2
Divizarea segmentului iniial n segmente elementare i
aproximarea pe fiecare din ele (varianta dreptunghiuri de
mijloc /medii/ )
diviziune
[a,b]
a
n
forma
a = x0 < x1 < x2 < < xn-1 < xn = b
Pe fiecare din segmentele [xi, xi+1] vom aproxima suprafaa trapezului curbiliniu cu aria
dreptunghiului cu baza h = |xi, - xi+1| iar nlimea egal cu valoarea funciei n unul din
punctele:
a) x = xi atunci metoda se numete a dreptunghiurilor de stnga
b) x = xi+1 atunci metoda se numete a dreptunghiurilor de dreapta
129
g(x)= f(xi)
g(x)= f(xi+1)
a= x0 x1 x2
xn-1 xn = b
a= x0 x1 x2
xn-1 xn = b
Fig. 4 Integrala definit este aproximat n primul caz prin dreptunghiuri de stnga, n al
doilea - prin dreptunghiuri de dreapta.
Pentru simplitate, vom considera segmentele [ xi , xi 1 ] egale. Atunci lungimea
segmentului va fi de
h ba /n
130
n 1
n 1
i 0
i0
f ( z )dz ( xi 1 xi ) f (( xi 1 xi ) / 2) h f (( xi 1 xi ) / 2)
n 1
i 0
f ( z)dz ( x
b
i 1
n 1
n 1
n 1
i 0
i 0
Pentru calculul numeric transformarea integralei ntr-o expresie aritmetic (sum) care
depinde doar de numrul de diviziuni ale segmentului (acest numr sau e dat apriori, sau
e stabilit n procesul de calcul) i de valoarea funciei n nodurile de interpolare (valoare
care este de asemenea dat sau poate fi calculat) este foarte comod procedura de
calcul devine elementar.
Determinarea erorii de calcul (marginea superioar).
Eroarea de interpolare pe un interval elementar se estimeaz ca modulul diferenei ntre
valoarea exact a funciei pe interval i funcia de interpolare. Corespunztor, eroarea de
la integrare prin funcia de interpolare va fi integrala erorii de interpolare. Pe un segment
elementar eroarea de interpolare este:
f ( z ) g ( z ) M ( z ( xi 1 xi ) / 2)
f ( z) g ( z)
utiliznd nlocuirea
variabilei x prin t:
x x(t ) ( xi 1 xi ) / 2 t ( xi 1 xi ) / 2
131
xi 1
f ( z )dz
xi
xi 1
xi
xi 1
x xi 1
g z, i
dz
2
xi 1
f ( z ) g ( z,
xi
xi xi 1
) dz
2
| (z
xi
xi xi 1
x xi 1 xi 1 xi
x xi 1 xi 1 xi
) | dz M | i
t i
|
dt
2
2
2
2
2
1
xi 1 xi
21
1
xi 1 xi
x xi
2 | t |dt M i 1
2*
2
2
2
| t |dz M
nM
ba
h2 b a
h
h
M
M (b a ) M
h
4
1
4
4
Formula dat ne permite s stabilim apriori, care este numrul necesar de iteraii pentru
obinerea unei erori mai mici dect cea prestabilit:
(b a ) M
h M (b a ) 2
M (b a ) 2
n
4
4n
4
O metod mai simpl, care ne ferete de riscul obinerii unor valori din afara
diapazonului admisibil este cea bazat pe divizarea binar a intervalului de iteraii. Vom
selecta o valoare maximal posibil pentru n 2 numrul iniial de iteraii i 0 pentru n1
numrul minim posibil de iteraii. Deoarece eroarea este o expresie, ce depinde de
numrul de iteraii, calculm eroarea pentru n (n1 n2 )div 2 un numr mediu de
iteraii. Dac eroarea obinut e mai mic dect cea cerut, considerm n2 n
(micorm numrul maxim de iteraii), n caz contrar n1 n (mrim numrul minim de
iteraii)
Acesta e un proces de divizare binar i va continua att timp ct n1 < n2 Va fi nevoie de
log2 (maxlongint div 2) verificri pentru a stabili exact numrul minim necesar de iteraii
pentru obinerea exactitii date.
132
dreptunghiurilor elementare.
5. Summ ariile elementare.
6. Afim rezultatul.
dreptunghiurilor elementare.
5. Summ ariile elementare.
6. Afim rezultatul.
133
y
f(x)
a = x0 x1 x2
...
xn-1
xn = b
134
h ba /n
determinate de formula xi a i * h
Atunci valoarea integralei definite pe un segment elementar [xi, xi+1] pentru funcia f(x) se
va aproxima conform formulei
xi 1
xi1
xi
xi
g ( z )dz
z xi
f ( xi 1 )dz
xi 1 xi
xi 1
xi
z xi 1
x x
f ( xi )dz i 1 i ( f ( xi 1 ) f ( xi ))
xi xi 1
2
xi 1
n 1
g ( z )dz
n 1
h
i 0
xi
f ( xi 1 ) f ( xi )
2
i 0
z xi
f ( xi 1 )dz
xi 1 xi
xi 1
xi
n 1
z xi 1
x x
f ( xi ) dz i 1 i ( f ( xi 1 ) f ( xi ))
xi xi 1
2
i 0
unde
xi , xi 1 punctele de interpolare,
xi 1
f ( z ) dz
xi
xi 1
g z, x , x dz
i
i 1
xi
xi 1
xi
f ( z ) g ( z , xi , xi 1 ) dz
xi
M ( z xi )( z xi 1 )
M
dz
2
2
M
2
xi 1
xi 1
| z
( xi xi 1 ) z xi xi 1 | dz
xi
xi 1
xi 1
3
3
M xi 1 xi
2
z
dz
(
x
x
)
z
dz
x
x
1
dz
i
i 1
i i 1
2
3
xi
xi
xi
xi 1
3
3
2
2
xi xi 1 xi xi 1
M xi 1 xi
M
M
2
2
xi xi 1 xi xi 1
( xi 1 xi ) 3
2
2
2
2
12
f ( z) g ( z)
i0
n 1
Mi
M
M
ba M 3
M
( xi 1 xi )3 ( xi 1 xi )3 n ( xi 1 xi )3
h (b a ) h 2
12
12
h 12
12
i 0 12
unde
M este supremul derivatei de ordin 2 al funciei integrate pe segmentul [a,b]
h lungimea unui segment elementar
Formula dat ne permite s stabilim apriori, care este numrul necesar de iteraii pentru
obinerea unei erori mai mici dect cea prestabilit:
(b a ) M
h 2 M (b a )3
12
12n 2
M (b a)3
n2 n
12
M (b a )3
12
Pentru metoda trapezelor aceast formul este mai puin util din cauza convergenei
rapide a metodei de obicei numrul de divizri necesare este destul de mic. n anumite
condiii, totui ea poate optimiza procesul de calcul i poate fi utilizat direct pentru
stabilirea numrului de iteraii necesare.
136
Algoritmizarea problemei
intervalului
- funcia de integrat
137
pentru i = 1, n 1
execut
x = a ih
s = s f ( x)
s = 0.5h( f ( a ) f (b) 2 s )
intervalului
- funcia de integrat
Date de ieire
pentru i = 1, n 1
execut
s = s f ( xi 1 ) f ( xi ) f ( xi 1 )
s = s h/3
n ->numarul de noduri
138
h=(b-a)/n;
for i=1:n+1
x(i)=a+(i-1)*h;
end
%in x am pus nodurile intermediare
clf
hold on
t=a:h/10:b;
plot(t,feval(f,t),'r-','LineWidth',8);
for i=1:n
x1=[x(i),x(i),x(i+1),x(i+1),x(i)];
y1=[0,feval(f,x(i)),feval(f,x(i+1)),0,0];
fill(x1,y1,'c','LineWidth',2);
end
line([a,b],[0 0],'LineWidth',4)
hold off
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
139
x=0:0.1:5;
y=humps(x);
z=trapz(x,y)
z =
12.4229
Se va observa c dac vom crete numrul subintervalelor vom obine o mai bun
aproximare a valorii integralei funciei humps(x).
x=0:0.05:5;
y=humps(x);
aria=trapz(x,y)
aria =
12.3438
Matlab ofer urmtoarele funcii pentru calculul integralei cu regula lui Simpson.
quad (function,a,b)
quad('humps',-1,3)
ans =
20.9869
b
// Metoda trapezului
fprintf('\na=');
a=input('
');
fprintf('\nb=');
b=input('
');
fprintf('\nN=');
N=input('');
140
s=0;
h=(b-a)/(N+2)
for i=1:N+1
x(i)=(a+h)+(i-1)*h
end
%for i=1:N+1
%y(i)=feval('sin',x(i))
%end
for i=2:N
s=s+feval('sin',x(i));
end
v=h/2*(feval('sin',x(1))+feval('sin',x(N+1))+2*s)
//Metoda lui Simpson
fprintf('\na=');
a=input('');
fprintf('\nb=');
b=input('');
fprintf('\nN=');
N=input('');
h=(b-a)/(N+2);
x(1)=a+h;
for i=2:N+1
x(i)=x(1)+(i-1)*h;
end
m=fix(N/2);
s1=0;
for i=1:m-1
s1=s1+feval('sin',x(2*i+1));
end
s2=0;
for i=1:m
s2=s2+feval('sin',x(2*i));
end
141
v=((x(N+1)-x(1))/(6*m))*(feval('sin',x(1))+feval('sin',x(N+1))
+2*s1+4
b
dx
1
syms x
f=1/sqrt(1+x^2);
int(f,0,1)
n cazul unei integrale care necesit un calcul laborios, instruciunea int nu face fa.
Vom scrie n faa instruciunii int, instruciunea double, i Matlab ne va returna rezultatul
unei integrri numerice:
1
ln( x
x 1)dx
0
1
syms x
f =log(x+sqrt(1+x^2)); int(f,0,1)
Warning: Explicit integral could not be found.
In C:\MATLAB6P5\toolbox\symbolic\@sym\int.m at line 58
ans =
int(log(x+(1+x^2)^(1/2)),x = 0 .. 1)
atunci:
double(int(f,0,1))
Warning: Explicit integral could not be found.
In C:\MATLAB6P5\toolbox\symbolic\@sym\int.m at line 58
ans =
0.4672
142
Exemplu
1
Integrala
x
x dx
1
2
vom calculm polinomul Taylor, de grad suficient de mare, asociat funciei, polinom ce
aproximeaz funcia:
>> f=x^x;
>> ft=taylor(f,1/2,9);
>> simplify int (ft,1/2,1)
d x
1
dt
dx 1 t t 2 t 1
>>g=1/(t*sqrt(t^2+t+1));
>>G=int(g,1,x);
>>Gx=diff(G,x)
Gx =
-(1/2/(x^2+1+x)^(1/2)-1/4*(2+x)/(x^2+1+x)^(3/2)*(2*x+1))/(11/4*(2+x)^2/(x^2+1+x))
143
144