CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o...
Transcript of CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o...
![Page 1: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/1.jpg)
CURS 11
Rezolvarea ecuaţiilor transcendente Fie ecuatia: f(x)=0 algebrică - dacă poate fi adusă la o formă polinomială transcendentă – dacă nu este algebrică
Ecuaţii algebrice: 3x=9; 2x2-3x+2=0; x5=x(2x-1); Ecuaţii transcendente: sin(x)+cos(x)=0.5; eln(x)-x=π;
Pentru determinarea soluţiilor ecuaţiilor transcendente este nevoie de metode de aproximare.
Cum se defineste o rădăcină aproximativă?
Rădăcină unei ecuatii:
![Page 2: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/2.jpg)
Pentru determinarea soluţiilor unei ecuaţii de forma f(x)=0 trebuie parcurse două etape:
1. separarea rădăcinilor - partiţionarea intervalului de definiţie al funcţiei în mai multe subintervale determinate de nodurile xmin=x1, x2, ... , xM=xmax astfel încât oricare subinterval să conţină cel mult o rădăcină a ecuaţiei
2. calculul rădăcinilor cu o anumită precizie
![Page 3: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/3.jpg)
Dacă o funcţie continuă f(x) are valori de semn opus la capetele unui interval [a,b] (dacă f(a)·f(b)<0) atunci în acel interval se găseşte cel puţin o rădăcină a ecuaţiei f(x)=0. Rădăcina este unică în intervalul [a,b] dacă derivata funcţiei (f'(x)) există şi îşi păstrează semnul în acel interval.
1. Separarea rădăcinilor
Nici o radacina in intervalul [-10,-5]
Radacini multiple in intervalul intervalul [0,10]
O singura radacina in intervalul [10,15]
Dacă subintervalele rezultate în urma partiţionării domeniului de definiţie al funcţiei sau a domeniului în care se caută zerourile funcţiei, [xm,xm+1], sunt suficient de mici astfel ca fiecare să conţină cel mult o rădăcină, atunci:
Teorema:
![Page 4: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/4.jpg)
- metoda bisecţiei (înjumătăţirii intervalului) - metoda lui Newton (metoda tangentei) - metoda secantei - metoda falsei poziţii -metoda aproximaţiilor succesive - ...
2. Calculul rădăcinilor cu o anumită precizie
Metode:
![Page 5: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/5.jpg)
Metoda bisecţiei
- constă în împărţirea repetată a intervalului iniţial [a,b] în jumătăţi ale acestuia şi selectarea intervalului (jumătăţii) în care se află soluţia.
![Page 6: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/6.jpg)
Conditia de oprire a procesului iterativ :
![Page 7: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/7.jpg)
- oferă convergenţă liniară a soluţiei ecuaţiei - convergenţă lentă - garantează convergenţa la soluţia exactă dacă valorile f(a) şi f(b) sunt de semne contrare
Avantaje si dezavantaje
![Page 8: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/8.jpg)
Program exemplu: metoda bisecţiei
//metoda bisectiei
#include<stdio.h>
#include<math.h>
#include <conio.h>
#include <stdlib.h>
#define eps 1e-8
double f(double x)
{
return 4.5*cos(x/3)*cos(x/3)-x/4;
}
double bisect(double inf, double sup, double (*pf)(double))
{
double c;
if((*pf)(inf)==0) return inf; if((*pf)(sup)==0) return sup; if((*pf)(inf)*(*pf)(sup)>0)
{
printf("\nNu exista sol sau exista solutii multiple");
while(!_kbhit());
exit(1);
}
do {
c=(inf+sup)/2.0;
if((*pf)(c)==0) return c;
if((*pf)(inf)*(*pf)(c)<0)
sup=c;
else
inf=c;
}
while((sup-inf) >= eps); // conditia de oprire
return c;
}
int main()
{
double s;
float A=3.0, B=4;
s=bisect(A,B,f);
printf("\nSolutia este s= %lf\a",s); while(!_kbhit()); return 0;
}
![Page 9: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/9.jpg)
Metoda lui Newton
- propusă de către Isaac Newton în anul 1669 - revăzută de către Joseph Raphson în 1690 si Thomas Simpson în 1740 - una dintre cele mai răspândite metode folosite în acest scop - algoritmul bazat pe această metodă poate fi folosit şi la determinarea minimului sau maximului unei funcţii prin determinarea zeroului primei derivate a funcţiei, în metode de optimizare.
Fie ecuatia: f(x)=0
![Page 10: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/10.jpg)
Conditia de oprire a procesului iterativ :
Calculul soluţiei exacte implică: 1. alegerea unei aproximaţii iniţiale (x0) a soluţiei ecuaţiei f(x)=0
- condiţie necesară şi suficientă: f(x0)f"(x0)>0. 2. calculul derivatei funcţiei al cărui zero se calculează
- calcul numeric (daca nu este posibil analitic)
Deoarece în relaţia iterativă de calcul a rădăcinii valoarea f'(x0) apare la numitor, în cazul accidental în care derivata funcţiei în punctul xi este zero, se va alege pentru aceasta valoarea ε (o valoare mică, diferită de zero) folosită la calculul derivatei sale.
1. în unele cazuri este necesară o alegere atentă a valorii de start, x0 2. necesită evaluarea a două funcţii. 3. la o iteraţie, se poate determina numai una dintre rădăcinile ecuaţiei cu rădăcini
multiple (depinde de rădăcina aproximativă de "guess" de la care se porneşte)
Dezavantajele metodei lui Newton
![Page 11: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/11.jpg)
Calculul numeric al derivatelor
1. Forward differences method (FDM)
2. Central differences method (CDM)
![Page 12: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/12.jpg)
Vezi cursul 2 – pasul de reprezentare a numerelor reale simpla precizie: 2-23 = 1.192 x 10-7
dubla precizie: 2-52= 2.22 x 10-16
Pentru valori de tip REAL, stocate pe 4 octeţi, p 10-7, iar pentru valori de tip DOUBLE, stocate pe 8 octeţi, p 10-16.
Conditii pentru alegerea valorii
![Page 13: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/13.jpg)
![Page 14: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/14.jpg)
//Metoda Newton
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> double f(double x) { return 4.5*cos(x/3)*cos(x/3)-x/4; } double newton(double (*) (double), double x0) { double p=1.0,eps,x,df; int k; //Calculul preciziei masinii si a valorii eps do p=p/2.0; while(p+1.0!=1.0); eps=pow(p,1/3.0); printf("p= %.20lf\teps= %.20lf",p,eps); //Calculul solutiei x=x0; k=0; do { k++; x0=x; //calculul numeric al derivatei prin CDM df=(f(x+eps)-f(x-eps))/2/eps; //evitarea cazului in care df este zero if(df==0) df=eps; //actualizarea solutiei x=x0-f(x)/df; printf("\nIteratia: %d: x= %15.12lf",k,x);
if(k>20) { printf("\nNu converge!"); exit(1); } } while(x!=x0); printf("\nSolutia ecuatiei este
%15.12lf\nNr. de iteratii: %d",x,k); return x; } int main () { double x0,x; int k; printf("Solutia initiala: x0= "); scanf("%lf",&x0); newton(f,x0); while(!_kbhit()); return 0; }
![Page 15: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/15.jpg)
![Page 16: CURS 11 - Babeș-Bolyai Universityvasile.chis/cursuri/info/c11ppt.pdf · Cum se defineste o rădăcină aproximativ ... în unele cazuri este necesară o alegere atentă a valorii](https://reader030.fdocument.pub/reader030/viewer/2022040808/5e4c31958653964a226d7a18/html5/thumbnails/16.jpg)