Documente Academic
Documente Profesional
Documente Cultură
1
Tema: Separarea soluiilor ecuaiilor algebrice i transcendente
Cuprins :
1. Separarea soluiilor ecuaiilor algebrice i transcendente 2. Metoda biseciei 3. Metoda coardelor 4. Metoda Newton
Pentru ecuatia 3
F(x)=3 F(x)=12 =-2 =0 =1 +4 -12 -5=0
+4
-12
-5=0
+12
-24x=0
x -2 0 1
F(x)
Semn f(x) -
Pentru ecuaia
F(x)= F(x)= +x-5=0 +1=0
+x-5=0
= 1/ ; = -1/
x 0
1/
F(x)
-1/
Semn f(x) -
Concluzie :
Este cea mai simpl i totodat cea mai sigur metoda de rezolvare numeric aecuaiilor neliniare i transcendente. Singurul ei dezavantaj reprezint un ritm lent de convergen, care cere un numr mare de operaii matematice.
Metoda biseciei
Scopul lucrrii: Metoda bisectiei, numita uneori si metoda dihotomiei sau a injumatatirii
intervalelor, este cea mai simpla dintre metodele de rezolvare a ecuatiilor algebrice si transcendente. Se considera ca, printr-un procedeu oarecare, s-a reusit localizarea radacinii exacte a ecuatiei f(x)=0 in intervalul [,]. In ipoteza in care functia f(x) este continua, iar radacina este singurul zerou al lui f(x) in [,], la extremitatile intervalului functia ia valori de semne contrare: f() * f()<0.
Algoritmul 1 - Metoda bisectiei Definirea functiei f(x), a intervalului de lucru [,], a preciziei si a numarului maxim de iteratii Nmax. Procesul iterativ: Initializarea procesului iterativ: It <-- 0; Daca s-a atins precizia doritta (- < 2*) sau numarul maxim de iteratii Nmax se incheie bucla iterativa si se trece la pasul 3. Se trece la o noua iteratie: It <-- It+1; Injumatatirea intervalului curent: m <-- (+)/2 ;
Pentru ecuatia 3
Program P01; Var a, b, c:real; i , n:integer: function f(x:real):real;
+4
-12
-5=0
begin f:=3*x*x*x*x+4*x*x*x-12*x*x-5; end; begin a:=0; b:=1; n:=16; for i:=1 to n do begin c:=(b+a)/2; writeln(i=,i:3, x=,c:10:8, f(x)=,f(c):12:8); if f(c)=0 then break else if f(c)*f(a)>0 then a:=c else b:=c; end; end. Rezultatul obinut:
Pentru ecuaia
Program cn1; Program P01; Var a, b, c:real; i , n:integer: function f(x:real):real; begin f:=x*x*x+x-5; end; begin a:=0; b:=1; n:=10; for i:=1 to n do begin c:=(b+a)/2; writeln(i=,i:3, x=,c:10:8, f(x)=,f(c):12:8); if f(c)=0 then break else if f(c)*f(a)>0 then a:=c else b:=c; end; end.
+x-5=0
Metoda coardelor
Metoda const n inlocuirea funciei date f(x) , continua pe un interval [a,b], printr-o dreapta g(x) care trece prin extremitile A si B definite astfel c f(a)f(b) < 0.Rdcina precis a funciei date f(x) se aproximeaza prin punctul de intersectie adreptei g(x) cu axa ox.
Pentru ecuaia
Program cn9; Var Msup , minf, a, b, e, x, xnou, xvechi, eps: real; Function f(x:real):real; Begin F:=x*x*x+x-5; end; Begin a:=-0.5; b:=0.5; eps:=0.0001; Msup:=10; minf:=5; x:=a-(f(a))/(f(b)-f(a))*(b-a); if f(x)*f(a)>0 then begin e:=b; xnou:=a; end: else begin e:=a; xnou:=b; end; repeat xvechi:=xnou; xnou:=xvechi-(f(xvechi))/f(e)-f(xvechi))*(e-xvechi); writeln( ` x=,xnou:10:8,f(x)=, f(xnou):12:8);
+x-5=0
Pentru ecuatia 3
Program cn9; Var
+4
-12
-5=0
Msup , minf, a, b, e, x, xnou, xvechi, eps: real; Function f(x:real):real; Begin F:=3*x*x*x*x+4*x*x*x-12*x*x-5; end; Begin a:=-0.5; b:=0.5; eps:=0.0001; Msup:=10; minf:=5; x:=a-(f(a))/(f(b)-f(a))*(b-a); if f(x)*f(a)>0 then begin e:=b; xnou:=a; end: else begin e:=a; xnou:=b; end; repeat xvechi:=xnou; xnou:=xvechi-(f(xvechi))/f(e)-f(xvechi))*(e-xvechi); writeln( ` x=,xnou:10:8,f(x)=, f(xnou):12:8); until abs ((Msup-minf)/minf*(xnou-xvechi))<eps; end. Rezultatul obtinut :
Metoda Newton
Metoda tangentelor aproximeaza radacina printr-un sir de iteratii x1, x2,.xn determinat prin intersectiile tangentelor duse la curba in punctele A0, A1, .An cu axa Ox.
Fie ecuatia f(x) = 0, algebrica sau transcendenta, care are o singura radacina reala in intervalul [a, b]. Se presupune ca derivatele si Intr-un este Punctul de intersectie a tangentei cu axa Ox este xk+1 (pentru f(x) = 0 si x = xk+1): sunt continue si pastreaza acelasi semn pe intervalul [a, b]. punct , ecuatia tangentei la curba y = f(x)
, k = 0,1,.care este formula iterativa Newton. Punctul incat de start si x0 trebuie . sa fie chiar a, astfel
Pentru ecuatia 3
Program cn10; Var a , b, c:real; i, n: integer; function f(z:real):real;
+4
-12
-5=0
begin f:=3*z*z*z*z+4*z*z*z-12*z*z-5; end; function fdl (z:real):real; begin fld:=12*x*x*x+12*x*x-24*x; end; begin a:=2.1; b:=15; n:=10; i:=0;
c:=a-(f(a))/f(b)-f(a))*(b-a); if f(c)*f(a)<0 then x:=a else x:=b; ehile i<n do begin i:=i+1; x:=x-f(x)/fdl(x); writeln ( i=,i:2, x=,15:12, f=,f(x):15:12); end; end. Rezultatul obtinut :
Pentru ecuaia
+x-5=0
Program cn10; Var a , b, c:real; i, n: integer; function f(z:real):real; begin f:=z*z*z+z-5; end; function fdl (z:real):real; begin fld:=3*z*z+1; end; begin a:=2.1; b:=15; n:=10; i:=0;
c:=a-(f(a))/f(b)-f(a))*(b-a); if f(c)*f(a)<0 then x:=a else x:=b; ehile i<n do begin i:=i+1; x:=x-f(x)/fdl(x); writeln ( i=,i:2, x=,15:12, f=,f(x):15:12); end; end. Rezultatul obtinut :