CATEGORII DOCUMENTE |
Metoda coardei
Ecuatia dreptei AB este:
Intersectand aceasta dreapta cu axa Ox se obtine
Daca f(a)f(c)£0, atunci x*I [a,c], in caz contrar x*I [c,b]
Procedeul se repeta pe noul interval ce contine radacina.
PSEUDOCOD Coarda
c,d Real
c←a
REPETA
d←c
c←a-f(a)*(b-a)/(f(b)-f(a))
DACA f(a)*f(c)<0 ATUNCI b←c
ALTFEL a←c
PANA CAND Abs(d-c)<eps;
xsol←c
SFARSIT
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream.h>
double f(double x)
void main()
while (!(abs(d-c)<eps));
xsol=c;
cout << ' '; cout << 'Solutia=' << xsol ;
Metoda Newton
Metoda Newton se poate aplica in cazul in care functia f indeplineste urmatoarele conditii suplimentare: este derivabila de doua ori pe [a,b], prima derivata nu se anuleaza pe acest interval, iar derivata a doua pastreaza semn constant pe [a,b]. Metoda consta in constructia unui sir de aproximatii ale radacinii cn x*, nIN. Punctul initial se alege astfel ca functia si derivata secunda sa aiba acelasi semn. Pe exemplul din figura se observa ca f'(x)>0, deci se va alege punctul b. Aproximarea radacinii se face prin punctul de intersectie al tangentei la graficul functiei in punctul B cu axa Ox.
Ecuatia tangentei este: y-f(b)=f'(b)(x-b). Intersectand aceasta dreapta cu axa Ox, se obtine:
.
Procedeul se repeta, utilizand relatia de recurenta
.
PSEUDOCOD Newton
c,d Real
DACA f(a)*ddf(a)>0 ATUNCI c←a
ALTFEL
c←b
a←b
SFARSIT
c←a
REPETA
d←c;
c←c-f(c)/df(c)
PANA CAND Abs(d-c)<eps
xsol←c
SFARSIT
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream.h>
double f(double x)
double df(double x)
double ddf(double x)
void main()
c=a;
do while (!(abs(d-c)<eps));
xsol=c;
cout << ' '; cout << 'Solutia=' << xsol ;
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 3646
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved