Sunteți pe pagina 1din 5

Seminarul republican al profesorilor de informatic

Raisa Miron, grad didactic superior

Utilizarea calculului aproximativ la rezolvarea problemelor


de matematic i informatic
I. Metoda njumtirii sau metoda biseciei intervalului.
Fie c se cere de rezolvat ecuaia
f(x)=0 pe intervalul [a, b]
Condiiile necesare pentru a putea fi aplicat metoda biseciei sunt:
1. Funcia f -s aib proprietatea Darboux pe intervalul [a, b];
2. f(a)*f(b)<0
[ Reamintim: Se spune c o funcie f: I R are proprietatea Darboux pe intervalul I dac pentru
orice valori x1, x2 ce aparin intervalului I, x1<x2 i oricare ar fi numrul c situat ntre f(x1) i f(x2), s
existe cel puin un punct x, ce aparine [a, b] astfel inct
f(x)=c ]
Remarc: Orice funcie continu pe un interval are proprietatea Darboux pe acel interval.
Metoda injumtirii const n ncadrarea, succesiv, a soluiei ecuaiei, n intervale din ce n ce mai
mici.
Vom descrie acest procedeu:
Fie dat ecuaia
f(x)=0, unde f: [a, b] R
1. f- este o funcie continu pe [a, b]
2. pentru simplitate fie f(a)<0 iar f(b)>0
Vom defini trei iruri (an), (bn), (cn), n>=0 n felul urmtor:
ao=a,
bo=b,
co=(ao+bo) / 2
Dac f(co)=0, atunci co- soluie
altfel
Dac f(co)< 0 atunci a1=co; b1= bo, iar c1=(a1+b1) / 2
altfel a1=ao; b1= co, iar c1=(a1+b1) / 2;
.a.m.d
Dac f(cn-1)=0 atunci cn-1- soluie
altfel
Dac f(cn-1)< 0 atunci an=cn-1; bn= bn-1, iar cn=(an+bn) / 2
altfel an=an-1; bn= cn-1, iar cn=(an+bn) / 2;

Ilustrarea grafic:

Pagina 1 din 5

Seminarul republican al profesorilor de informatic


Raisa Miron, grad didactic superior

Din construcia irurilor avem c cn=(an+bn) / 2, an- cn <0,


an < cn < bn, pentru n N

bn - cn >0

a0 a1 a2 ... an<cn<bn bn-1 ... b0.

Deoarece b1 a1 = (b-a) /2

b2 a2 = (b1 a1) /2 = (b-a)/ 22 .


ba
bn a n n
2
Atunci obinem c irul (an), n>=0 este monoton cresctor i mrginit superior de bo, irul
(bn), n>=0
este monoton descresctor i mrginit inferior de ao. Conform teoremei Weierstrass irurile (an) i
(bn) sunt convergente .
Deoarece
(b a )
lim(bn a n ) lim
0 lim a n lim bn A
n
n
n
n
2n
Deoarece
f(an)<0, iar f(bn)>0 i f(x) -o funcie continu,
trecnd la limit obinem
lim f ( a n ) f ( lim a n ) f ( A) 0
n
n
f(A)=0 A soluie a ecuaiei f(x)=0
lim f (bn ) f (lim bn ) f ( A) 0
n

Deoarece
an < cn < bn, pentru n N,
conform teoremei cletelui primim, c irul (cn) de asemenea este convergent i
lim c n A , iar f(A)=0
n
Deci: pentru a gsi soluia ecuaiei f(x) =0 pe intervalul [a, b], calculm termenii irului (cn) i limita
acestui ir este soluia ecuaiei pe [a, b].
Problem:
cum se determin limita irului (cn) i ct de repede converge irul (cn) la A.
Mai precis, fiind dat un > 0, ci termeni consecutivi ai irului trebuie calculai pentru a obine un
n astfel nct:
cn A ?
Din pcate ns A e necunoscut, i cum s-l determinm pe n?
Exist dou modaliti de aflare aproximativ a soluiei A cu exactitatea

1. Estimarea apriori a erorii;


2. Estimarea aposteriori a erorii.
Estimarea apriori a erorii:
const n aflarea numrului n, astfel nct
cn A

n-?

Deoarece cn, A [an, bn] rezult:


c n A a n bn bn a n

ba
2n

ba
cn A
< rezult c i
2n
ba
Din inegalitatea
< < l aflm pe n-?
2n

Cum numai

Pagina 2 din 5

Seminarul republican al profesorilor de informatic


Raisa Miron, grad didactic superior

ba
2n
1
2n

ba

n ln(2) > ln (

ba

) n > ln (

ba

) / ln(2)

n=[ ln (( (b-a) / )) / ln 2 ] + 1, sau n=trunc( ln ( ( b-a ) / ) / ln 2 ) +1


Deci, cunoscnd a, b, i calculnd numrul n din formula
n=trunc( ln ( ( b-a ) / ) / ln 2 ) +1,
vom determina toi termenii consecutivi ai irului co, c1, ... , cn.
Drept soluie a ecuaiei cu exactitatea se ia cn.

Estimarea aposteriori a erorii


const n obinerea unei inegaliti de forma
c n A const * c n c n 1

Atunci cum numai


const * c n c n 1 c n A

drept soluie cu exactitatea putem lua cn


const-?
Din definiia irurilor an, bn, cn avem:
a n c n bn c n a n bn / 2

ns

an = cn-1, sau bn = cn-1

ns A [an, bn] i cn [an, bn]

a n bn 2 * a n c n 2 * bn c n

a n bn 2 * c n c n 1

c n A a n bn 2 * c n c n 1
c n A 2 * c n c n 1

Aa dar const=2
Deci cum numai

cn A
, vom primi c i
i drept soluie cu exactitatea lum cn.

2 * c n c n 1

Aa dar: pentru a calcula soluia ecuaiei f(x)=0, cu exactitatea vom calcula toi termenii consecutivi
ai irului cn pna cnd
2 * c n c n 1

Exempu 1:
S se rezolve ecuaia

x3+x2-1=0,

pe intervalul [-3, 3]
(Rspuns:
Rezolvare:
Fie f(x)= x3+x2-1 f este o funcie continu pe R
f(-3) = -27+9-1 = -19
f(3) = 27 +9 -1 = 35 putem aplica metoda biseciei

Programul n limbajul Pascal:

Estimarea apriori
Pagina 3 din 5

x0.7548773289, =0.0001)

Seminarul republican al profesorilor de informatic


Raisa Miron, grad didactic superior
program prob1_metoda_bisectiei_apriori;
uses crt;
var a,b,c,eps: real; i, n: integer; u:boolean;
function f(x:real):real;
begin
f:=sqr(x)*x+sqr(x)-1;
end;
begin clrscr;
a:=0; b:=1;
writeln('Introduceti exactitatea:');
readln(eps);
n:=trunc(ln((b-a)/eps)/ln(2))+1; u:=true;
for i:=1 to n do begin
c:=(a+b)/2;
if f(c)=0 then begin
writeln(c:0:15,'-solutia exacta a ecuatiei');
writeln(f(c)=,f(c):0:15);
u:=false; break; end
else
if f(c)<0 then a:=c
else b:=c;
end;
if u then begin writeln(c:15:10,'-solutia aproximativa a ecuatiei');
writeln(f(c)=,f(c):0:15); end;
readln;
end.

Rezultatul:

exactitatea 0.00000000001

x0.754877666244 verificati

Estimarea aposteriori:
program prob1_metoda_bisectiei_aposteriori;
uses crt;
var a,b,c,c1,eps: real; u:boolean;
function f(x:real):real;
begin
f:=sqr(x)*x+sqr(x)-1;
end;
begin clrscr;
a:=0; b:=1;
writeln('Introduceti exactitatea:');
readln(eps);
c:=a; u:=true;
repeat c1:=c;
c:=(a+b)/2;
if f(c)=0 then begin
writeln(c:10:6,'-solutia exacta a ecuatiei');
writeln(f(c)=,f(c):0:15);
u:=false; break; end
else
if f(c)<0 then a:=c
else b:=c;
until 2*abs(c-c1)<eps;
if u then begin writeln(c:15:10,'-solutia aproximativa a ecuatiei');
writeln(f(c)=,f(c):0:15);end;
readln;
end.

Rezultatul:

exactitatea 0.00000000001

x0.754877666244

- verificati

Exerciiul 1 (pagina 25 [Bib.1])


Pagina 4 din 5

Seminarul republican al profesorilor de informatic


Raisa Miron, grad didactic superior

S se rezolve urmtoarele ecuaii prin metoda injumtirii cu estimarea aprior a erorii:


=0.0000000001
Rezultatele:
3
2
a) x +x -1=0,
pe intervalul [0, 1]
x0.754877666244
2
b) 3x +11x+1=0,
pe intervalul [-1, 1]
c) 2x-ln x-4=0,
(2x=ex*ln2)
pe intervalul [1, 3]

.Exerciiu

3 (pagina 25 [Bib.1])

S se rezolve urmtoarele ecuaii prin metoda injumtirii cu estimarea aposterioar a erorii:


=0.00000000001
Rezultatele:
5
3
1) x +x +x+1=0,
pe intervalul [-1, 1]
x-0.6368829166
2
2) x -6x+5=0,
pe intervalul [2, 9]
3) x2- x -1=0,
pe intervalul [1, 2]

Literatur:
1. George-Daniel Mateescu, Ileana-Carmen Mateescu
Analiza numeric, manual pentru clasa XII
Editura Petrion Bucureti
2. Sergiu Corlat
Calculul numeric, informatica clasa XII-a, Chiinu 2004

Pagina 5 din 5

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