2. Metoda coardelor
1 .Metoda este utilizată pentru găsirea rădăcinii aproximative a
ecuaţiei f(x)=0 izolate într-un interval a, b în cazul în care f(a)*f(b)<0 cu
aproximarea prestabilită.
2. Se consideră ecuaţia f(x)=0. Funcţia f(x) este continuă pe[a, b].
Presupunem că în urma unui proces de separare a rădăcinilor ecuaţia
f(x)=0 are cel mult o rădăcină în [a, b].3. Prin - notăm rădăcina
ecuaţiei pe [a, b].
3. Istorie
Cele mai vechi documente care atestă cunoașterea și înțelegerea
metodei falsei poziții datează cu aproximație din anul 200 î.Hr. și 200
î.Hr.. Metoda a fost găsită într-un text antic chinez numit „Nouă
capitole despre arta matematicii”. În acest text, cu toate acestea,
exemple de probleme care aplică metoda falsei poziții sunt doar la
ecuații liniare și soluțiile sunt atinse într-o singură etapă.
În Occident, această metodă a fost utilizat pe scară largă de către
matematicienii Fibonacci, Luca Pacioli și Robert Recorde.
4. Program
Programul prezentat mai jos determina solutia unei ecuatii de forma
(1.1) in urmatoarele ipoteze:
- solutia este separata intr-un interval [a, b]:
- functia este continua pe intervalul [a, b].
Datele de intrare sunt: capetele intervalului in care se cauta solutia
(a, b) si precizia dorita (epsilon). Functia este definita prin procedura
de tip functie.
In cadrul programului nu se verifica semnul derivatelor.
Algoritmul care sta la baza programului este urmatorul:
- se determina punctul c de intersectie a dreptei determinata de
punctele (a, f(a)) si (b, f(b)) cu axa Ox folosind formula
5. - se pastreaza intervalul care contine
solutia, ([a, c] sau [b, c]), care reprezinta
noul interval [a, b] pentru iteratia
urmatoare si se determina modulul
diferentei dintre iteratia curenta (c) si
iteratia anterioara (a sau b).
6. Determinarea iteratiilor se opreste atunci cand modulul diferentei a doua iteratii consecutive este
mai mic decat eroarea admisa epsilon. De asemenea programul se opreste cand se determina o
iteratie care este chiar solutia ecuatiei.
# include <iostream .h>
# include <conio .h>
# include <math .h>
double f (double x)
void main (void
else
}
if ( t = = 0)
cout<<”Solutia aproximativa este x =”<<c;
else
cout<<”Solutia este x =”<<c;
}
getch ( );
}