Documente Academic
Documente Profesional
Documente Cultură
Informatica
Informatica
Metoda bisectiei
Fie functia f(x) este continua pe [a,b],radacina X a ecuatiei f(x)=0 este izolata pe acest
interval,iar
b-a>2 * ,unde este un numar pozitiv suficient de mic ( =0.01) . Elaboram
algoritmul de calcul al radacinii X cu precizia data ,utilizind metoda injumatatirii
intervalului.
ALGORITM
Pasul(1) Divizam intervalul [a,b] in doua jumatati prin punctul c=(a+b)/2
Pasul(2) Calculam valoarea f(c). Daca f(c)=0, atunci c este valoarea exacta a
radacinii si procesul de calcul se stopeaza.
.
.
Altfel , daca f(c)<>0,din cele doua jumatati [a,b] si
[a,c] o alegempe aceea ,la ale carei extremitati functia are valori de semne opuse pe
care il renotam [a1,b1].
Pasul(3) Daca b1-a1>2* ,repetam aceleasi rationamente pentru intervalul nou
[a1,b1].
Pasul(4) Prin renotare capatam [a2,b2] de lungimea (b-a)/4
Continuind procesul injumatatirii intervalului ,vom obtine fie ca la un anume pas
mijlocul intervalului va fi radacina ecuatiei,fie un sir de intervale incluse unul in
altul . Rezulta ca pentru calculul radacinii cu precizia ,procesul injumatatirii
intervalului trebuie continuat pina la prima valoare a lui n ,care satisface
inegalitatea
(b-a)/2 la puterea n<=2*
Adica
n= [ln((b-a)/E)/ln2].
Fig. 1. Calculul
consecutiv al
segmentelor, care
conin soluia ec
- ai < b ai
-4
-
-3
-
-2
-
-1
-
0
+
1
+
2
+
3
+
4
+
5
+
5. Metoda coardei
Fie f:[a, b] R, continu pe intervalul (a, b), cu f(a)f(b)<0, deci are semne opuse
la capetele intervalului.
Pentru nceput vom presupune f(a)>0 i f(b)<0, adic:
y
A
f(a)
cnd f(a)>0
b
0
f(b)
B
f ''( x) 0, x (a, b)
"adun apa"
y2 y1
( x x1 ) i c, n cazul nostru punctele sunt A(a, f(a)) i B(b,
x2 x1
y y1
f(b)), obinem
xa
y f (a )
b a f (b) f (a )
f (a)
f (a )
(b a) sau, notnd h1
(b a )
f (b) f (a)
f (b) f (a)
x1=a+h1
Fcnd n relaia de mai sus +b -b se obine:
x1 b
f (b)
(b a )
f (b) f (a)
...
f (a)
( xn 1 a )
f ( xn 1 ) f (a )
ab
deci pentru f(a)>0 i f ''(
) 0 a fix
2
ab
dac f (a) f ''(
) 0 b fix
2
xn xn 1
Ieire
x
-0.50000
-0.473684
-0.473465
Soluiile
Lucrare de laborator
Tema: Rezolvarea ecuatiilor prin
metode numerice
Controlat
Prof . T.Zatica
Efecuat
elev Rusu Dorin
Grupa CBO703
f ( xk )
,
f ( x k )
f /(xk)0 ,
k=0,1,2,3.., n
xk+1= xk .
Ieire
x
-0.500000000000
-0.473684210527
-0.473465822232
-0.473465807729
-0.473465807729
-0.473465807729
Soluiile
1=-0.473465807729+0.01
Program Newton;
Var a,b,c,x:real;
i,n:integer;
Function f(x:real):real;
Begin f:=3*x*x*x*x +4*x*x*x-12*x*x-5 ; end;
Function f1(x:real):real;
Begin
F1:=12*x*x*x+12*x*x-24;
a:= 1; b:=2; n:= 3;
c:= a-f(a)/(f(b)-f(a)*(b-a));
if f(c)*f(a)>0 then x:=a else x:=b;
while i<n do
begin
i:=i+1;
x:=x-f(x)/f1(x);
writeln(x:15:12, f(x):15:12); readln ;
end;
end.