CATEGORII DOCUMENTE |
Astronomie | Biofizica | Biologie | Botanica | Carti | Chimie | Copii |
Educatie civica | Fabule ghicitori | Fizica | Gramatica | Joc | Literatura romana | Logica |
Matematica | Poezii | Psihologie psihiatrie | Sociologie |
Se aplica la un capat metoda tangentei iar la celalalt metoda coardei. In metoda coardei se utilizeaza in unul din capete, incepand cu iteratia x1, valoarea iteratiei obtinute in cadrul aceluiasi pas prin metoda tangentei.
Sa luam cazul
. .
. .
. .
sau
Daca oprim procedeul.
In final mai facem o data media aritmetica a rezultatelor obtinute, adica
Exemplu 4.4.1 Calculati cu o precizie de 0,001 radacina ecuatiei
folosind metoda combinata.
Solutie
Avem . Deci R si
iar .
Prin urmare ecuatia are o singura radacina reala si aceasta se afla in intervalul (- ∞,(0,66666)]. Cum f (0) = -1 retinem intervalul [0, (0,66666)].
Alegem , x0 = 0,66666.
Urmeaza
Deci solutia aproximativa calculata cu o precizie mai buna de 0,001 este
Programul pentru metoda combinata
Programul determina solutia unei ecuatii de forma (4.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 si derivata ei sunt definite prin proceduri de tip functie.
In cadrul programului nu se verifica semnul derivatelor.
Algoritmul care sta la baza programului urmareste determinarea unui interval [c,d] unde c se determina prin metoda tangentei, iar d se obtine prin metoda secantei. Daca s-au putut determina cele doua puncte (t = 0) atunci intervalul [min(c,d), max(c,d)] devine noul interval [a, b] pentru iteratia urmatoare.
Determinarea iteratiilor se opreste atunci cand lungimea intervalului care contine solutia este mai mica decat eroarea admisa epsilon. Solutia aproximativa este .
De asemenea programul se opreste cand se determina o valoare pentru c sau d care este chiar solutia ecuatiei.
# include <iostream .h>
# include <math .h>
# include <conio .h>
double f (double x)
double df (double x)
void main (void)
if ( t = = 1)
if (df (b) = =0)
t = 2;
else
if (t = =0)
else
if (c<d)
else
}
}
while((t = =0)&& ((b-a)>eps));
if ( t = = 3)
cout<<"Solutia este x ="<<c<<endl;
if ( t = = 0)
cout<<"Solutia aproximativa este x ="<<(a+b)/2<<endl;
if ( t = = 2)
cout<<"Nu se poate aplica metoda combinate!"<<endl;
getch ( );
}
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2408
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved