integrarea numerica derivarea numerica

8
Carmen Georgescu ,Tudor Petrovici Catedra de Hidraulica si Masini Hidraulice, Universitatea Politehnica din Bucuresti Laborator #11. Integrarea numerica . Derivarea numerica Integrarea numerica 1. Integrala definita sau improprie, de tip R b a dx x f b a , , ) ( 1.1 Integrale definite/improprii din functii cu expresie analitica cunoscuta Functii Octave [V,IER,NFUN,ERR]=quad(f,a,b) foloseste ca metoda cuadratura Gaussiana i=quadl(f,a,b) foloseste ca metoda regula lui Lobatto [q, err] = quadgk (f,a,b) foloseste ca metoda regula Gauss-Konrod q = quadv (f, a, b) foloseste ca metoda regula lui Simpson Aplicatia #1 (Se va folosi functia quad) Sa se calculeze integrala 3 0 | 1 | ) 1 sin( dx x x x (Observatie: integrala improprie convergenta de speta a II-a) Pas1. Se scrie functia f(x) care descrie functia integrand function y=f(x) y = x.*sin(1./x).*sqrt(abs (1-x)); endfunction Pas2. [v, ier, nfun, err] = quad ("f", 0, 3) Observatie: quad accepta functia integrand, in corpul functiei. Exemplu: 3 1 ) sin( dx x x i=quad(@(x) sin(x)./x,1,3) Aplicatia #2 (Se va folosi functia quadl) Sa se calculeze integrala 3 1 ) sin( dx x x (Observatie: quadl nu rezolva integrale improprii convergente) Pas1. Se scrie functia f(x) care descrie functia integrand function y=f(x) y =sin(x)./x; endfunction Pas2. i= quad ("f", 1, 3) De retinut : Functii Octave: quad, quadl,trapz,cumtrapz Pentru variantele Octave de la 3.0 incolo : quadgk,quadv

Upload: diaconualexandru

Post on 27-Sep-2015

37 views

Category:

Documents


5 download

DESCRIPTION

Integrarea Numerica,Derivarea

TRANSCRIPT

  • Carmen Georgescu ,Tudor Petrovici

    Catedra de Hidraulica si Masini Hidraulice, Universitatea Politehnica din Bucuresti

    Laborator #11. Integrarea numerica . Derivarea numerica

    Integrarea numerica

    1. Integrala definita sau improprie, de tip Rbadxxfb

    a

    ,,)(

    1.1 Integrale definite/improprii din functii cu expresie analitica cunoscuta Functii Octave [V,IER,NFUN,ERR]=quad(f,a,b) foloseste ca metoda cuadratura Gaussiana i=quadl(f,a,b) foloseste ca metoda regula lui Lobatto [q, err] = quadgk (f,a,b) foloseste ca metoda regula Gauss-Konrod q = quadv (f, a, b) foloseste ca metoda regula lui Simpson Aplicatia #1 (Se va folosi functia quad)

    Sa se calculeze integrala 3

    0

    |1|)1

    sin( dxxx

    x (Observatie: integrala improprie

    convergenta de speta a II-a) Pas1. Se scrie functia f(x) care descrie functia integrand function y=f(x) y = x.*sin(1./x).*sqrt(abs (1-x)); endfunction Pas2. [v, ier, nfun, err] = quad ("f", 0, 3)

    Observatie: quad accepta functia integrand, in corpul functiei. Exemplu: 3

    1

    )sin(dx

    x

    x

    i=quad(@(x) sin(x)./x,1,3) Aplicatia #2 (Se va folosi functia quadl)

    Sa se calculeze integrala 3

    1

    )sin(dx

    x

    x (Observatie: quadl nu rezolva integrale improprii

    convergente) Pas1. Se scrie functia f(x) care descrie functia integrand function y=f(x) y =sin(x)./x; endfunction Pas2. i= quad ("f", 1, 3)

    De retinut : Functii Octave: quad, quadl,trapz,cumtrapz Pentru variantele Octave de la 3.0 incolo : quadgk,quadv

  • Aplicatia #3 (Se va folosi functia quadv)

    Sa se calculeze integrala 3

    1

    )sin(dx

    x

    x (Observatie: quadv nu rezolva integrale improprii

    convergente) Pas1. Se scrie functia f(x) care descrie functia integrand function y=f(x) y =sin(x)./x; endfunction Pas2. i= quadv ("f", 1, 3) Aplicatia #4 (Se va folosi functia quadgk)

    Sa se calculeze integrala

    0 )1(

    1dx

    xx (Observatie: integrala improprie convergenta

    de speta a I-a si a II-a) Pas1. quadgk accepta functia integrand, in corpul functiei quadgk(@(x) 1./ (sqrt (x).*(x + 1)),0,Inf) 1.2 Integrale din functii tabelate Functii Octave i=trapz(x,y) i=cumtrapz(x,y) (calculeaza integralele cumulate) Aplicatia #5 (functia trapz) Se da functia tabel

    x 1 2 3 4 5 6 7 8 9

    y 4 1 8 10 3 7 9 0 12

    0

    2

    4

    6

    8

    1 0

    1 2

    0 2 4 6 8 1 0

  • >>x=1:9; y=[4 1 8 10 3 7 9 0 12];i1=trapz(x,y), i2=cumtrapz(x,y) Aplicatia #6 (functia trapz) Cu functia trapz pot fi calculate si integrale definite pe interval finit, din functii cu integrand dat analitic. In acest caz mai intai se discretizeaza functia integrand pe intervalul de integrare impartit in diviziuni de pas mic (spre exemplu 0.01)

    Sa se calculeze integrala 3

    1

    )sin(dx

    x

    x

    >>x=1:0.01:3;f=sin(x)./x; i=trapz(x,y)

    2.Integrala dubla si integrala tripla D V

    dxdydzzyxfdxdyyxf ),,(,),(

    Aplicatia #7 (functia dblquad)

    Sa se calculeze integrala dubla ]1;0[,]1;0[:,)sin( yxDdxdyxyxyD

    I=dblquad (@(x, y) sin(pi.*x.*y).*sqrt(x.*y), 0, 1, 0, 1) Aplicatia #7 (functia triplequad) triplequad (f, xa, xb, ya, yb, za, zb)

    3 Integrale improprii Euler - speta I-

    1

    0

    )1()1( )1(),( dtxxbaB ba si speta II

    0

    1 ,)( Radxexa xa ), integrala erorilor

    ztdtezerf

    0

    22)(

    Aplicatia #8 Sa se calculeze integrala Euler de speta 1-a , 1

    0

    99 )1()10,10( dtxxB

    >>format long e;int=beta(10,10) returneaza: int = 1.082510564857978e-006 Aplicatia #9 Sa se calculeze gamma(20). Stiind ca daca a este numar natural atunci

    )!1()( aa sa se verifice rezultatul prin calcul direct 20!

    >>format long e;i=gamma(20) , fact19=prod(1:19) returnraza: i =1.216451004088321e+017 fact19 =1.216451004088320e+017

    De retinut : Functii Octave: dblquad , triplequad

    De retinut : Functii Octave: gamma, beta,erf

  • Aplicatia #10 Sa se calculeze erf(0.1) >>format long e ; er=erf(5) returneaza: er=0.11246

    Derivarea numerica

    1. Aproximarea numerica a derivatei de ordinul unu prin diferente finite (functia diff).

    Functia diff permite aproximarea derivatei numerice (de ordin unu ) a unei functii y(x). Daca x este un vector variabila independenta, x=[x(1) x(2) x(n)] functia diff returneaza vectorul diferentelor elementelor adiacente adica diff(x)=[x(2)-x(1) x(3)-x(2) x(n)-x(n-1)] Daca y este un vectorul variabila dependenta, y=[y(1) y(2) y(n)] functia diff returneaza vectorul diferentelor elementelor adiacente adica diff(y)=[y(2)-y(1) y(3)-y(2) y(n)-y(n-1)]. Rezulta

    Comentariu: Cu cat diviziunea este mai fina, derivata numerica se aproprie ca valoare de derivata teoretica Aplicatia #1 Fie functia y=x^2 definita pe [1;2] cu derivata analitica y=2*x Sa se compare valorile derivatei obtinute cu functia Octave diff, cu cele obtinute prin calcul analitic direct >>x=1:0.1:2;y=x.^2;dn=diff(y)./diff(x);da=2*x; eroare=da(2:11)-dn >>x1=1.1:0.1:2;da=da(2:length(da));plot(x1,da,r,x1,dn,b)

  • >>x=1:0.01:2;y=x.^2;dn=diff(y)./diff(x);da=2*x; eroare=da(2:length(da))-dn >>x1=1.01:0.01:2;da=da(2:length(da));plot(x1,da,r,x1,dn,b)

    >>x=1:0.001:2;y=x.^2;dn=diff(y)./diff(x);da=2*x; eroare=da(2:length(da))-dn >>x1=1.001:0.001:2;da=da(2:length(da));plot(x1,da,r,x1,dn,b)

  • 2. Aproximarea numerica a derivatelor partiale pentru o functie de doua variabile z=f(x,y) ( functia gradient).

    Aplicatia #2 Sa se calculeze derivatele partiale pentru functia

    folosind functiile gradient, contour, quiver >>[x,y]=meshgrid(-2:0.2:2, -2:0.2:2); z=x.*exp(-x.^2- y.^2); >>[Dx,Dy]=gradient(z,0.2,0.2); >> contour(x,y,z), hold on, quiver(x,y,Dx,Dy,r), hold off

    3. Calculul Laplacianului 2

    2

    2

    2

    y

    f

    x

    ff

    (functia 4del2)

    Aplicatia #3 : Sa se calculeze valoarea aproximativa numerica a Laplacianului pentru functia f(x,y)=3*x^3+2**y^2 pe intervalul [-4,4] x [-4,4]. Sa se reprezinte grafic functia f si sa se gaseasca solutia numerica a ecuatiei Laplace 0f

    >>[x,y]=meshgrid(-4:4, -4:4); f=2*x.^3+2*y.^3; surfnorm(f),L=4*del2(f)

    - 3

    - 2

    - 1

    0

    1

    2

    3

    - 3 - 2 - 1 0 1 2

  • Probleme propuse

    1. Se da functia y=f(x) definita tabelar pe intervalul [0.1,1] astfel:

    x 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

    y 0.99 0.96 0.91 0.85 0.78 0.7 0.61 0.53 0.44 0.37

    Sa se calculeze aria (si ariile cumulate) cuprinsa intre axa Ox, functia y=f(x) si x intre 0.1 si 1, folosind functiile trapz si cumtrapz. Sa se reprezinte grafic functia. Folosind functia polyfit sa se aproximeze functia printr-un polinom de gradul 1. Folosind aceasta functie sa se calculeze aria de mai sus cu functia Octave quad 2. Se da functia f(x)=x*sin(x) , definita pe intervalul [0,7]. Sa se calculeze integrala din f(x) pe acest interval folosind functiile quad , quadl, quadv, quadgk si trapz (pentru functia trapz se va folosi un pas de discretizare de 0.01). Sa se compare rezultatele in format long 3. Se da functia f(x)=x/exp(x) definita pe intervalul [1,inf]. Sa se calculeze integrala din f(x) pe acest interval folosind functiile quad si quadgk. Cum putem calcula o valoare aproximativa a integralei folosind functia trapz ? 4. Se da functia f(x)=x*sin(x)/(1+cos^2(x)) definita pe intervalul [0,pi]. Sa se calculeze integrala din f(x) pe acest interval folosind functiile trapz, quad, quadl si quadgk 5. Intre integralele lui Euler de speta 1-a si speta 2-a, exista relatia

    - 4

    - 2

    0

    2

    4

    6

    8

    1 0

    - 4

    - 2

    0

    2

    4

    6

    8

    1 0

    - 3 0 0

    - 2 0 0

    - 1 0 0

    0

    1 0 0

    2 0 0

    3 0 0

  • )(

    )(*)(),(

    ba

    babaB

    . Sa se verifice ca

    )7(

    )4(*)3()4,3(

    B

    6. Sa se calculeze 1

    0

    2 dxxx observand ca este o integrala Euler de speta 1-a cu

    a=3/2 si b=3/2

    7. Sa se calculeze

    1

    0

    2/11002)1( dttt ,care este o integrala Euler de speta1-a