Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate didacticaScoala trebuie adaptata la copii ... nu copiii la scoala





Biologie Botanica Chimie Didactica Fizica Geografie
Gradinita Literatura Matematica


Matematica


Qdidactic » didactica & scoala » matematica
Aproximarea functiilor prin serii Taylor - aproximarea prin fractii continue



Aproximarea functiilor prin serii Taylor - aproximarea prin fractii continue


Aproximarea Functiilor


In aceasta tema:

prezentarea pe scurt a notiunilor generale despre aproximarea functiilor prin metode numerice;

realizarea programelor pentru aproximarea functiilor uzuale (exp, ln, sin, cos) prin serii de puteri;

fractii continue.


Aproximarea functiilor prin serii Taylor

1.1. Prezentarea teoretica

O functie reala f(x) se numeste analitica intr-un punct z, daca in orice vecinatate a acestui punct, functia poate fi dezvoltata intr-o serie de puteri (serie Taylor).



     

(1)

Pentru z=0 se obtine seria MacLaurin:

                   (2)

Diferenta:

               (3)

este denumita rest si reprezinta eroarea rezultata ca urmare a inlocuirii functiei f(x) cu polinomul Taylor (eroare de trunchiere) si are expresia:

                       (4)

Pentru functia exponentiala ex se obtine dezvoltarea in serie MacLaurin:

                        (5)

Pentru valori foarte mari ale lui x in valoare absoluta este nerecomandabil sa calculam seria dupa formula (5). De aceea, consideram ca x=p+q, unde p este partea intreaga a lui x iar q este partea fractionala a lui x (0 q<1). Astfel, vom avea

                                                     (6)

Calculul lui ep este simplu de realizat deoarece trebuie sa inmultim pe e=2,718281828459, sau pe 1/e=0,367879441171 cu el insusi de p ori. Calculul lui eq se va face dupa formula prezentata mai sus si anume:

                                                     (7)

Calculul logaritmului natural al unui numar se va face folosind urmatoarea dezvoltare:

                       (8)

Aceasta formula este dificil de utilizat pentru calcule, deoarece domeniul 0<x+1 este mic si in plus pentru |x| apropiat de unu seria converge foarte lent (vezi referinta [1]). De aceea, se foloseste formula ce se obtine din scaderea dezvoltarii ln(1+x) din ln(1-x), rezultand:

  (9)

Notand:

  (10)

rezulta:

(11)

Functiile trigonometrice sinus si cosinus au dezvoltarea in serie data de formulele:

                        (12)

                             (13)

Problema importanta la aproximarea functiilor prin serii de puteri este aceea de determinare a numarului de termeni din serie. In practica adunarile se finalizeaza atunci cand termenul ce deja a fost adaugat este mai mic in valoare absoluta decat o toleranta admisa.

1.2. Aplicatii rezolvate

Aplicatia 1

Sa se realizeze programul in limbajul Pascal care evalueaza functia ex. Pentru test se vor lua pentru x valorile 1.0; -1.0; 0.5; -0.5; 5.0.

Rezolvare

Dezvoltarea in serie MacLaurin pentru functia ex este data de expresia (5).

Deoarece valoarea functiei exponentiale trebuie sa fie destul de exacta si pentru valori foarte mari ale argumentului functiei, vom folosi  expresiile (6) si (7).

Programul pentru calculul functiei exponentiale se numeste exponential si este prezentat in lista 1

Lista 1. Programul pentru aproximarea functiei exponentiale

Program exponential;

Uses CRT;

Const

e=2.718281828459;

upe=0.367879441171;

Var

i,maxit,k,p:Integer;

x,t,s,eps,se,q:Real;

Begin

ClrScr;

maxit:=50;

Write('X='); Readln(x);

Write('epsilon='); Readln(eps);

p:=Integer(trunc(abs(x)));

q=abs(x)-p;

se:=1;

if x<=0 then t:=upe else t=e;

for i:=1 to p do

se:=se*t;

s:=0;t;=1;k:=0;

Lista 1. Programul pentru aproximarea functiei exponentiale (continuare)

repeat

k:=k+1;


s:=s+t;

t:=t*q/k;

until (t<=eps) or (k>maxit);

if k>maxit then

writeln('Eroare! Proces neconvergent')

else

begin

se:=s*se;

writeln('exp=',se:8:5);

end;

Repeat Until Keypressed

End.

1.3. Aplicatii propuse

Aplicatia P1.

Sa se realizeze programul in limbajul Pascal care evalueaza functia sin(x). Valorile pentru test vor fi x=0; p p p p

Aplicatia P2.

Sa se realizeze programul in limbajul Pascal care aproximeaza folosind serii de puteri functia f(x)=cos(x). Valorile de test vor fi x=0; p p p p

2. Aproximarea functiilor prin metoda iterativa

2.1. Prezentare teoretica

O alta metoda de aproximare a valorilor unei functii este metoda iteratiilor. Pentru aceasta presupunem ca avem de calculat valoarea:

y=f(x)                                                             

Aceasta relatie putem sa o scriem ([1]) in forma implicita:

F(x,y)=0                                                         

unde F(x,y) este o functie continua care are derivata partiala F'y(x,y) continua si diferita de zero. Daca avem yn o valoare aproximativa a lui y, folosind teorema lui Lagrange si aproximand valoarea intermediara dintre yn si y chiar cu yn obtinem:

       (16)

Prima problema este de a gasi o valoare y0 convenabil aleasa si cat mai aproape de valoarea dorita a lui y, pe care sa o folosim drept valoare initiala a procesului iterativ. Procesul iterativ continua pana cand diferenta in valoare absoluta dintre doua valori succesive yn+1 si yn este mai mica decat o eroare admisibila.

De exemplu, ne propunem ca prin acest procedeu sa calculam

                                           (17)

Pentru aceasta, scriem functia implicita, astfel incat avem:

F(x,y)=y2-x=0 (18)

si

F'y(x,y)=2y (19)

Prin urmare formula de recurenta obtinuta pentru functia radical este:

              (20)

care se numeste formula lui Heron. Pentru acest proces scriind numarul x ca fiind x=2m x1 cu m un intreg si 0.5 x1<1. Aproximatia initiala y0 a lui y va fi:

                                                      (21)

unde [m/2] reprezinta partea intreaga a numarului m/2.

2.2. Aplicatii propuse

Aplicatia 2.

Sa se realizeze programul in limbajul Pascal care utilizand metoda Hero aproximeaza functia radical.

Rezolvare

Se porneste de la relatia lui Heron pentru functia radical care este data de expresia (20) cu valoarea initiala data de expresia (21). Schema logica si pseudocodul pentru aceasta problema sunt date in figura 1. si 2




Start

Citeste x, e

m

y

Cat timp y<x executa

m m+1

y y*2

y

Pentru i 1, m/2 executa

y y*2

Repeta

y1 y

y (y1+x/y1)/2

Pana cand |y-y1|<e

Scrie y



Figura 1 Pseudocodul pentru calculul functiei radical


Figura 2 Schema logica pentru calculul functiei radical

Programul pentru aproximarea functiei radical se numeste radical si este prezentat in lista 2

Lista 2. Programul pentru aproximarea functiei radical

Program radical;

Uses CRT;

Var

k,m,i:Integer;

x,y,y1,eps:Real;

Begin

ClrScr;

Write('X=');

Readln(X);

Write('Epsi=');

Readln(eps);

m:=0;

y:=1;

while y<x do

begin

m:=m+1;

y:=y*2;

end;

y:=1;

for i:=1 to m div 2 do

y:=y*2;

Repeat

y1:=y;

y:=0.5*(y1+x/y1);

Until abs(y-y1)<eps;

Writeln('Y=',y:8:5);

Repeat Until Keypressed

End.


6.2.3.Aplicatii propuse

Aplicatia P3.

Sa se realizeze programul in limbajul Pascal care aproximeaza functia y=1/x utilizand metoda iterativa.

Aplicatia P4.

Sa se realizeze programul in limbajul Pascal care aproximeaza functia y=5/x2.


3. Aproximarea prin fractii continue 

3.1. Prezentare teoretica

O fractie continua este o relatie de forma:



                                (25)

unde ai si bi sunt numere intregi sau reale, dar de regula se folosesc pentru numerele ai si bi numere intregi. Pentru aproximarea functiilor ai si bi  pot fi functii de x. Simplificat si compact, o astfel de reprezentare se scrie

                                    (26)

Se numeste o fractie continua simpla reprezentarea in care toate numerele bi sunt unu iar numerele ai sunt intregi si mai mari ca zero, adica:

                                (27)

Intr-o forma compacta fractiile continue simple se pot scrie:

                                (28)

Fractiile continue de regula converg mult mai repede decat seriile de puteri.

Reprezentarea prin fractii continue a functiei tangent este:

                               (26)


3.2. Aplicatii propuse

Aplicatia 3.

Sa se realizeze programul in limbajul Pascal care aproximeaza functia tan(x) prin intermediul fractiilor continue. Pentru teste se va lua x=p

Rezolvare

Programul care va aproxima functia tangent prin fractii continue va trebui sa tina cont de faptul ca evaluarea fractiilor continue de la dreapta la stanga este o strategie gresita datorita faptului ca nu putem deduce de la ce ordin al aproximatiei se va realiza precizia dorita. De aceea se va prezenta in continuare algoritmul lui Lentz modificat pentru evaluarea fractiilor continue (pentru detalii suplimentare referinta [1] si [2]). Algoritmul metodei presupune ca evaluarea se termina atunci cand  cu e suficient de mic (de exemplu). Pentru algoritmul de mai jos (figura 5) e este un numar mai mic decat numarul e folosit pentru evitarea impartirii la zero.  

Algoritmul metodei este prezentat in figura 5:

Figura 5.Algoritmul Lentz modificat pentru calculul fractiilor continue.


Programul pentru evaluarea functiei tangenta prin fractii continue se numeste tan_cfract si este prezentat in lista 5


Lista 5. Programul pentru aproximarea functiei tg prin fractie continua

Program tan_cfract;

Uses CRT;

Var

K,i,N:Integer;

e1,e2,f,c0,c1,a,b,d0,d1:Real;

Begin

e1:=1e-9;

Lista 5. Programul pentru aproximarea functiei tg prin fractie continua (continuare)

ClrScr;

Write('eroarea admisa=');

Readln(e2);

Write('X=');

Readln(X);

a:=0;

I:=1;

Repeat

C:=C*(n-i+1)/i;

I:=I+1;

Until i>k;

Writeln('C=',C:8:0);

Repeat Until Keypressed

End.

2.3.Aplicatii propuse

Aplicatia P5.

Sa se realizeze programul in limbajul Pascal care aproximeaza functia ex folosind fractii continue.


Aplicatia P6.

Sa se realizeze programul in limbajul Pascal care aproximeaza functia sin(x) folosind fractii continue.





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright