Fisa2_2012

download Fisa2_2012

of 10

Transcript of Fisa2_2012

  • 8/2/2019 Fisa2_2012

    1/10

    1

    Sanda-Carmen Georgescu, Tudor Petrovici, Radu PopaMetode numerice. Fia de laborator nr. 2:

    CRITERII DE APROXIMARE. CRITERIUL DE APROXIMARE

    PRIN INTERPOLARE (polinomul Lagrange i funcii spline cubice)

    2. CRITERII DE APROXIMARE

    Funcia xf se aproximeaz printr-o alt funcie xF , relativ simpl, astfel nct pentru orice bax , , valoarea lui xF s fie suficient de apropiat de valoarea lui xf . Aproximarea este necesar

    atunci cnd:Nu se cunoate expresia analitic a lui xf , dar se cunosc valorile sale n punctele kx sub forma unui

    tabel de 1n perechi de valori kk xfx , , cu nk ;0 :

    kx 0x 1x . . . nx

    kxf 0xf 1xf . . . nxf

    Expresia analitic a lui xf este cunoscut, dar prea complicat i incomod de utilizat n calcule repetate.Funcia xf poate fi aproximat prin polinomul generalizat xFm , definit printr-o combinaie

    liniar a unui numr finit de 1m funcii liniar independente, xk :

    m

    k

    kkm xcxFxf0

    . (2.1)

    Pentru kk xx , unde mk ;0 , polinomul de aproximare se numete polinom algebrici are forma:

    m

    k

    kkm xcxF0

    . (2.2)

    Polinomul de aproximare trigonometric se scrie sub forma:

    m

    k

    kkm kxbkxaaxF

    1

    0 sincos2

    . (2.3)

    Fie o funcie care msoar distanadintre dou funcii oarecare. Coeficienii polinomului generalizat xFm se determin impunnd condiia ca distana dintre funcia xf i polinomul generalizat s fie

    minim. Dup modul de definire a funciei distanse pun n eviden urmtoarele criterii de aproximare: Criteriul de aproximare prin interpolare; Criteriul de aproximare dup rest (serie Taylor);Criteriul de aproximare cu abatere medie ptratic minim;Criteriul de aproximare n sensul lui Cebev (de exemplu, polinomul de minimax).

    2.1. CRITERIUL DE APROXIMARE PRIN INTERPOLARE

    Dac xFm este definit de (2.2) pentru cazul nm , condiia ca distana dintre funcia xf ipolinomul de interpolare xFn s fie minim impune sistemul de ecuaii:

    nkxFxf knk ,,2,1,0pentru, , (2.4)aceste ecuaii constituind condiiile de interpolare. Cnd xf este dat printr-o tabel de valori, sistemul(2.4) impune coincidena dintre funcie i polinom n nodurile de interpolare kx . Aproximarea realizat nacest caz se numete aproximare prin interpolare, iar polinomul generalizat

    nnn xcxcxccxF 2210 , (2.5)

    care satisface condiiile (2.4) se numete polinom de interpolare. Cei 1n coeficieni kc din (2.5) sedetermin rezolvnd sistemul de 1n ecuaii liniare cu 1n necunoscute, generat de (2.4). n general, prin mrirea gradului polinomului de interpolare n , irul de polinoame xFn nu converge ctre

  • 8/2/2019 Fisa2_2012

    2/10

    2

    xf , ns pentru funcii f relativ simple i anumite alegeri ale nodurilor de interpolare, se poate obineconvergena. ntre dou noduri de interpolare succesive, abaterea polinomului xFn de la funcia dat,

    anume xFxf n , poate atinge valori apreciabile.

    2.1.1. POLINOMUL DE INTERPOLARE LAGRANGE

    Fie funcia Rnxxxf ,: 0 , dat sub forma unei tabele de valori:

    kx 0x 1x . . . nx

    kk xfy 0xf 1xf . . . nxf

    cu nodurile de interpolare kx nun mod necesar egal distanate.

    Din condiia nkxFxf knk ,,2,1,0pentru, , rezult un sistem de 1n ecuaii cu 1n necunoscute (coeficienii polinomului de interpolare). Metoda Lagrange determin un polinom deaproximare fr a rezolva sistemul (2.4)ataat condiiei de coinciden n noduri.

    Formulare matematic: Polinomul de interpolare Lagrange de gradulnse scrie n funcie de cele 1n

    perechi de valori din tabel, sub forma:

    n

    k

    n

    kjj jk

    j

    k

    n

    k

    n

    kjj jk

    j

    knxx

    xxxf

    xx

    xxyxL

    0 00 0

    . (2.6)

    Pentru 1n se obine interpolarea liniar, polinomul Lagrange de gradulntiavnd forma:

    xxx

    yyx

    xx

    yyy

    xx

    xxy

    xx

    xxy

    xx

    xxyxL

    kkj

    j jk

    j

    k 01

    010

    01

    010

    01

    01

    10

    10

    1

    0

    1

    0

    1

    . (2.7)

    Polinomul de interpolare Lagrange de gradul n definit prin relaia (2.6) poate fi scris sub o formsimilar relaiei (2.5), anume:

    12

    31

    21 nn

    nnnn axaxaxaxaxL . (2.8)

    Cei 1n coeficieni ka cu 1,,2,1 nk ai polinomul Lagrange (2.8) pot fi determinai, de exemplu, cuajutorul unei funcii denumitelagran.m, scrise n GNU Octave, astfel:

    Funcie GNU Octave pentru calculul coeficienilor polinomului Lagrange:

    Observaie: Comanda polyout(a)returneaz polinomul Lagrange sub forma (2.8).

    octave#1> function [a,L]=lagran(x,y)# Intrari: x este vectorul absciselor; y este vectorul ordonatelor# Iesiri: a este vectorul coeficientilor polinomului Lagrange# L este matricea calculelor intermediare aferente polinomului Lagrangen=length(x)-1;L=zeros(n+1,n+1);# Determinarea coeficientilor polinomului Lagrange:for k=1:n+1

    v=1;for j=1:n+1

    if k~=jv=conv(v,poly(x(j)))/(x(k)-x(j));

    endifendforL(k,:)=v;

    endfora=y*L;

    endfunction

  • 8/2/2019 Fisa2_2012

    3/10

    3

    Exemplul 1Fie funcia xxxf ln12 definit pe intervalul 7;1x . S se calculeze cu ajutorul

    polinomului de interpolare Lagrange (2.6) valoarea funciei n 5x , dac se consider nodurile deinterpolare: 10 x , 31 x i 72 x . S se calculeze eroarea absolut x (1.1) i eroarea relativ rx (1.2)

    n procente, fa de valoarea exact 9.58065ln155 2 f . S se scrie o funcie n GNU Octave(denumit, de exemplu, lagr.m) pentru a determina valoarea polinomului Lagrange de gradul n pentru o

    valoare x dat, n cazul n care se cunosc vectorii xi ycu cte 1n componente.

    Formulare matematic pentru 2n : Polinomul de interpolare Lagrange (2.6) de gradul doise scrie:

    12

    1

    02

    02

    21

    2

    01

    01

    20

    2

    10

    102

    xx

    xx

    xx

    xxxf

    xx

    xx

    xx

    xxxf

    xx

    xx

    xx

    xxxfxL

    . (2.9)

    Algoritm:1. Informaia iniial: Citete vectoriix,yi valoarea xsn care se face interpolarea; length(x) = length(y) = n+12. Iniializeaz suma Lagrange, notat cu L: L 03. Pentru k = 1:(n+1), iniializeaz produsul din suma Lagrange, notat cu p: p 1 i execut instruciunea 44. Pentru j = 1:(n+1), DAC k j, execut p p*(xs-x(j))/(x(k)-x(j))5. Execut L L+p*y(k)6. Afieaz valoarea calculat, cu 14 zecimale: val L.

    Funcie GNU Octave:

    n GNU Octave, problema se rezolv prin urmtoarea secven de comenzi:

    octave#1>x=[1 3 7]; y=x.^2./(1+log(x)); vexact=5^2/(1+log(5)); L=lagr(x,y,2,5)# Se calculeaza eroarea absoluta ea si eroarea relativa er:octave#2>ea=abs(vexact-L), er=(vexact-L)/vexact

    Rezultate: Se obin urmtoarele valori:y = [1.0000 4.2885 16.6332], vexact = 9.5806i L = 9.4996, adic 4996.952 L . Erorile au valorile 0.080983ea x , respectiv 0.84528er rx %. Valoarea 52L

    afiat cu 14 zecimale este: val = 9.49962476812106.

    Pentru a ilustra acurateea aproximrii din Exemplul 1, se cere s se reprezinte pe acelai grafic, attfuncia exact xxxf ln12 , ct i polinomul Lagrange 32

    212 axaxaxL .

    Indicaie: Se determincoeficienii ka cu 3,2,1k ai polinomului xL2 , cu ajutorul funciei lagran.m. Sediscretizeaz intervalul 7;1x , de exemplu, cu pasul 0.1: se obin astfel 601.017 de intervaleechidistanate. Se calculeazvalorile exacte ale funciei xf , respectiv valorile polinomului xL2 , n cele61 de puncte obinute, apoi se reprezint grafic.

    Secven de comenzi GNU Octave:octave#3>[a,L]=lagran(x,y)octave#3>x=1:0.1:7; f=x.^2./(1+log(x)); L2=polyval(a,x);# Reprezentarea grafica a rezultatelor:

    octave#4>xlabel('x'), ylabel('f(x) si L_2(x)'), grid('on')octave#5>plot(x,f, '-ro;f(x) = x^2/(1+ln(x));', x,L2, '-b+;L_2(x) = a_1*x^2+a_2*x+a_3;)

    octave#1>function L=lagr(x,y,n,xs)L = 0;for k = 1:n+1

    p = 1;for j=1:n+1

    if k ~= jp = p*(xs-x(j))/(x(k)-x(j));

    endifendforL = L + y(k).*p;

    endfor

    format long, val = L, formatendfunction

  • 8/2/2019 Fisa2_2012

    4/10

    4

    Rezultate: S-au obinut urmtorii coeficieni ai polinomului Lagrange: a = [0.240316 0.683010 0.076674],

    deci, pentru Exemplul 1, polinomul Lagrange are forma: 076674068301002403160 22 .x.x.xL .

    Graficul trasat cu comanda plot (vezi figura 2.1) poate fi salvat, de exemplu ca fiier de tip encapsulatedpostscript, cu denumirea fig21.eps, cu ajutorul comenzii print, astfel:

    octave#6>print('fig21.eps','-depsc2')

    Fig. 2.1 Aproximarea prin interpolare cu ajutorul polinomului Lagrange

    2.1.2. POLINOMUL LAGRANGE PENTRU INTERPOLARE BIDIMENSIONAL

    Formulare matematic: Fie un numr de 11 nm puncte distincte n care este precizat funcia

    ji yxf , , unde mi ,,1,0 , iar nj ,,1,0 . Se caut un polinom yxLmn , , de grad cel mult m n xi

    grad cel mult nny, astfel nct jijimn yxfyxL ,, pentru mi ;0 i nj ;0 . (2.10)

    Se noteaz funciile:

    m

    ikk ki

    kim

    xx

    xxxa

    0

    , pentru mi ,,1,0 (2.11)

    respectiv

    n

    jkk kj

    kjn

    yy

    yyyb

    0

    , pentru nj ,,1,0 (2.12)

    Cu (2.11) i (2.12), polinomul Lagrange de interpolare bidimensional are forma:

    m

    i

    n

    j

    jnimjimn ybxayxfyxL0 0

    ,, ,, . (2.13)

  • 8/2/2019 Fisa2_2012

    5/10

    5

    Pentru a obine valoarea yxLmn , cu ajutorul polinomului Lagrange de interpolarebidimensional (2.13), se poate aplica urmtorul algoritm de calcul.Algoritm:

    Pas 1: Se calculeaz pe rnd vectorii linie, de componente a = [am,1 am,2 . . . am,m] pentru x = xs ib = [bn,1 bn,2 . . . bn,n] pentru y = ys, dup formulele (2.11) i respectiv (2.12), undef(xs,ys) este valoarea cautat prin interpolare;

    Pas 2: ConsiderndF de componente f(xi,yj), pentru calculul valorii f(xs,ys) se poate utiliza produsul scalar:f(xs,ys) = dot((F*aT)T,b).

    1 Informaia iniial: Citete matricea F(xi,yj), cu i = 1:m+1, j = 1:n+1; vectorii linie xi y; valorile xs i ysncare se face interpolarea i length(x) = m+1, length(y) = n+1

    2 Pentru k = 1:m+1, iniializeaz produsul a1 (a1 1) i execut instruciunea 33 Pentru j = 1:m+1, DAC k j, execut a1 a1*(xs-x(j))/(x(k)-x(j)) i stocheaz valorilen a4 Pentru k = 1:n+1, iniializeaz produsul b1 (b1 1) i execut instruciunea 55 Pentru j = 1:n+1, DAC k j, execut b1 b1*(ys-y(j))/(y(k)-y(j)) i stocheaz valorilen b6 Calculeaz valoarea cerut: val dot(F*aT)T,b).

    Funcie GNU Octave:

    Exemplul 2 Volumul specific al aburului supranclzit v [m3 /kg] variaz cu presiunea p [bar] itemperatura [C], ca n tabelul de mai jos [Pop et al, 1987, 2.5.1], n care jiij pvv , , cu indicii2;0i i 1;0j .

    i = 0 i = 1 i = m = 2

    pi [bar]j [C]

    10 15 20

    j = 0 250 v00 = 0.2327 v10 = 0.1520 v20 = 0.1115

    j = n = 1 270 v01 = 0.2429 v11 = 0.1592 v21 = 0.1172

    S se determine, cu polinomul Lagrange bidimensional ,pLmn , care este valoarea volumului specific lapresiunea 13p bar i temperatura 262 C, adic 262,1321Lv .

    Secvene de program GNU Octave:

    octave#1>F=[0.2327 0.1520 0.1115;0.2429 0.1592 0.1172];octave#2>x=[10 15 20];y=[250 270];m=length(x)-1; n=length(y)-1;

    octave#3>xs=13; ys=262; val=lagr2(F,x,y,m,n,xs,ys)

    octave#1>function val=lagr2(F,x,y,m,n,xs,ys)>for k=1:m+1

    > a1=1;> for j=1:m+1> if k~=j> a1=a1*(xs-x(j))/(x(k)-x(j));> endif> endfor> a(k)=a1>endfor>for k=1:n+1> b1=1;> for j=1:n+1> if k~=j> b1=b1*(ys-y(j))/(y(k)-y(j));> endif

    > endfor> b(k)=b1>endfor>val=dot((F*a')',b)>endfunction

  • 8/2/2019 Fisa2_2012

    6/10

    6

    Rezultate: Se obin urmtoarele: a = [0.28000 0.84000 -0.12000], b = [ 0.40000 0.60000]i val = 0.18439,adic 0.18439262,1321 Lv m

    3/kg.

    2.1.3. INTERPOLAREA CU FUNCII SPLINE CUBICE

    Formulare matematic:

    n multe cazuri, se definete funcia xf printr-un tabel cu un numr mare de perechi de valori kk xfx , , unde nk ;0 . Dup cum s-a precizat la nceputul paragrafului 2.1, alegerea unui polinom deinterpolare xFn cu grad ridicat n , nu asigur obligatoriu convergena ctre xf : ntre nodurile deinterpolare rezultatul aproximrii poate fi eronat, polinomul putnd admite minime sau maximesemnificative ntre dou noduri consecutive. O abordare practic const n aproximarea funciei pe poriunide interval(pe subiruri de noduri de interpolare), cu ajutorul unor polinoame de ordin inferior, de exemplu3n . Se caut ca aceste polinoame s fie continuu interconectate pe intervalul de variaie a funciei xf .

    ntre dou noduri de interpolare consecutive 1kx i kx se recomand aplicarea unor polinoame

    xfk de gradul 3, numite funcii spline cubice, de forma:

    32 xdxcxbaxf kkkkk , unde nk ;1 (2.14)

    definite astfel nct s asigure conectarea neted cu funciile spline cubice adiacente. Pentru un tabel cu 1n noduri, rezult n intervale pe care se construiesc nfuncii xfk , deci rezult 4n necunoscute, anume,coeficienii care apar n (2.14). Sunt deci necesare 4necuaii pentru evaluarea acestor necunoscute, iar acesteecuaii sunt definite prin condiiileurmtoare: Valorile a dou funcii spline adiacente trebuie s fie egale n toate nodurile interioare kx , unde

    1;1 nk . Rezult astfel 22 n ecuaii.Prima funcie, xf1 , definit ntre 0x i 1x , respectiv ultima funcie, xfn , definit ntre 1nx i nx ,

    trebuie s treac prin nodurile de capt ale intervalului:0

    x , respectiv nx . Rezult astfel nc 2 ecuaii.

    Derivatele de ordinul nti trebuie s fie egale n toate nodurile interioare kx , unde 1;1 nk . Rezult

    astfel 1n ecuaii.

    Derivatele de ordinul al doilea trebuie s fie egale n toate nodurile interioare kx , unde 1;1 nk .

    Rezult nc 1n ecuaii.Derivatele de ordinul al doilea se impun nule n nodurile de captale intervalului, adic:

    001 xf i 0 nn xf . (2.15)

    Se obin astfel ultimele 2 ecuaii. Alegerea acestor ultime dou condiii corespunde aa-numitelor funciide tip spline natural (sau spline standard).

    n continuare se prezint o metod [Chapra & Canale, 1988, 12.5.3] care reduce soluionareasistemului de la 4n ecuaii cu 4n necunoscute, la numai 1n ecuaii cu 1n necunoscute. n cadrulmetodei, se scrie ecuaia urmtoare n toate nodurile interioare:

    111111 2 kkkkkkkkk xfxxxfxxxfxx

    11

    1

    1 66

    kk

    kk

    kk

    kk

    xx

    xfxf

    xx

    xfxf, unde 1;1 nk . (2.16)

    innd seama de condiiile de spline natural, 00 xf i 0 nxf , din sistemul (2.16) de 1n

    ecuaii, se obin cele 1n derivate secunde kxf , cu 1;1 nk . Apoi, cunoscnd derivatele secunde ntoate nodurile, se obin funciile spline cubice xfk pe fiecare interval [ 1kx , kx ], cu relaia:

    31

    1

    3

    1

    1

    66k

    kk

    kk

    kk

    kk xx

    xx

    xfxx

    xx

    xfxf

    xxxxxf

    xx

    xfk

    kkk

    kk

    k 6

    11

    1

    1

  • 8/2/2019 Fisa2_2012

    7/10

    7

    1

    1

    1

    6

    k

    kkk

    kk

    k xxxxxf

    xx

    xf, unde nk ;1 . (2.17)

    Exemplul 3Fie funcia xf dat sub forma unei tabele de valori:

    kx 00 x 11 x 22 x

    kk xfy 10 xf 21 xf 12 xf

    S se gseasc polinoamele de interpolare spline cubice xP1 i xP2 , apoi, s se gseasc cu ajutorul lor,valorile interpolate n 4.0x i respectiv 3.1x .

    Formulare matematic: Fie dxcxbxaxP 231 i vxuxtxsxP 23

    2 polinoamele de

    interpolare pe intervalele 1;0 , respectiv 2;0 . Cele 8 ecuaii pentru determinarea coeficienilor necunoscuia, b, c, d, s, t, ui v sunt:

    2 vutsdcba , deoarece 211 21 PP ;

    1d i 1248 vuts , deoarece 101 P i 122 P ;utscba 2323 , deoarece 11

    21

    PP ;

    tsba 2626 , deoarece 11 21 PP ;02 b i 0212 ts , deoarece 020 21 PP din condiia de spline natural.

    Rezultate: Se obin polinoamele de interpolare:

    15.15.0 31 xxxP i xxxxP 5.435.023

    2 ,

    respectiv valorile interpolate: 5680.14.04.0 1 Pf i 8785.13.13.1 2 Pf .

    Observaie: Interpolarea cubic spline este folositi n probleme de reprezentare grafic a unor funcii(vezi Exemplul 4).

    Funcii GNU Octave care pot fi folosite: spline, csapi, csape, ppval, ...

    Exemplul 4Mediile de programare i calcul ingineresc de nivel nalt (spre exemplu MATLAB, sau GNUOctave) folosesc alte condiii la capete pentru aproximarea cu funcii spline. Condiiile ca derivatele de

    ordinul al doilea s fie egale cu zero n nodurile de capt ale intervalului, adic (2.15): 001 xf i

    0 nn xf , sunt nlocuite cu condiii pentru derivata a treia a funciilor. Astfel: dac numrul nodurilor este 3n , se consider dou polinoame de gradul 3, xC1 i xC2 , care s

    treac respectiv prin primele 4 noduri i prin ultimele 4 noduri i de pun condiiile la limit: 0

    310

    31 xCxP , respectiv

    nnn xCxP32

    3 . (2.18) dac numrul nodurilor este 3n , atunci trebuie specificat prima derivat la capete.

    Astfel pentru datele din Exemplul 3, secvenele de program GNU Octaveaplic (2.18) i furnizeazalte rezultate dect cele obinute anterior cu spline natural, anume:octave#1>x=[0 1 2];y=[1 2 1];pp=spline(x,y)octave#2>valinterp1=ppval(pp,(0.4))octave#3>valinterp2=ppval(pp,(1.3))

    Rezultate: Secvenele de program GNU Octave de mai sus returneaz polinoamele de interpolare

    166667.2233333.0 231 xxxxP i 20.33333133333.023

    2 xxxxP , respectiv valorile

    interpolate 7680.14.04.0 1 Pf i 819.13.13.1 2 Pf , fiind afiate urmtoarele:pp ={P =

    0.33333 -2.00000 2.66667 1.000000.33333 -1.00000 -0.33333 2.00000

    d = 1

    k = 4n = 2x =

  • 8/2/2019 Fisa2_2012

    8/10

    8

    012

    }valinterp1 = 1.7680valinterp2 = 1.8190

    Exemplul 5 Se d funcia xy sin definit pe intervalul

    2;0x . S se interpoleze cubic spline

    funcia xy sin n punctele ix obinute prin discretizarea intervalului 2;0 cu pasul 0.1 i s sereprezinte grafic (figura 2.2) alturi de funcia exact xy sin .Secvenele de program GNU Octave:octave#1>x=1:0.1:2*pi; y=sin(x); yi=spline(x,y,x);octave#2>plot(x,y,x1;y = sin(x);,x,yi,+3;sinus cu spline;)# Nota: x1;y = sin(x);inseamna marcarea punctelor cu x de culoare rosie si eticheta y = sin(x)# Nota: +3;sinus cu spline;inseamna marcarea cu + de culoare albastra si eticheta sinus cu splineoctave#3>print('fig22.eps','-depsc2')

    Fig. 2.2 Aproximarea prin interpolare cu ajutorul funciilor spline cubice

    APLICAII DE LABORATOR

    Problema 1Fie funcia xxf . Se va considera o tabel de valori exacte ale lui kk xfy pentru

    25;9;4kx cu 2;1;0k . S segseasc valoarea aproximativ a funciei la 20x , utiliznd:

    (a) Interpolarea liniar. S se calculeze eroarea relativ dintre 201 xL i valoarea exact 20xf cu relaia:

    %1001

    xf

    xLxfrx . (2.19)

  • 8/2/2019 Fisa2_2012

    9/10

    9

    (b) Polinomul de interpolare Lagrange (2.6) de gradul doi. S se compare 202 xL cu valoarea exact 20xf i s se calculeze eroarea relativ cu relaia:

    %1002

    xf

    xLxfrx . (2.20)

    Indicaie: Pentru punctul (a) se va folosi interpolarea Lagrange (2.7) cu dou noduri: 91 x i 252 x .

    Problema 2Vscozitatea dinamic [cP] a apei depinde de temperatura [C] dup legea urmtoare[Kiselev, 1988, 1.12]:

    2000221.00337.01

    78.1

    [cP]. (2.21)

    Fie o tabel de valori exacte kk f , calculate cu (2.21) pentru k {0; 20; 50} [C]. S se gseasc

    valoarea aproximativ a vscozitii dinamice a apei la temperatura 30 C utiliznd polinomulLagrange de gradul 2, adic 302L . S se calculeze eroarea relativ n raport cu valoarea exact 30 calculat cu (2.21). S se ilustreze grafic rezultatele.

    Problema 3ntr-o conduct circular de raz 25.00 R m, apa curge n regim turbulent mixt cu vitezamedie 2.2v m/s. Coeficientul lui Darcy (al pierderilor de sarcin distribuite) este 0127.0 . Vitezamaxim a apei (n axa conductei), determinat cu formula lui Altul [Kiselev, 1988, 4.2] este:

    535.235.11max vv m/s. Viteza instantanee vla distana yfa de peretele conductei este descris

    de legea lui Altul: 9.00max Ryvv . Pentru valorile din problem, legea teoretic a lui Altul se scriesub urmtoarea form compact:

    1014.0917.2 yv . (2.22)

    Se va considera o tabel de valori exacte ale vitezei kk yfv , calculate cu (2.22), pentru distanele

    ky {0; 0.05; 0.1; 0.25} m, unde 3;0k . S se gseasc valorile aproximative ale vitezei apei la distanele

    2.0;03.0

    y m, utilizndpolinomul Lagrange de gradul 3, adic yL3 . S se calculeze erorile relativen raport cu valorile exacte 03.0v i 2.0v calculate cu (2.22). S se ilustreze grafic rezultatele.

    Problema 4 Fie tabela de 4 valori exacte ale vitezei kk yfv , calculate cu legea lui Altul (2.22),

    pentru distanele ky {0; 0.05; 0.1; 0.25} m, unde 3;0k . ntre nodurile de interpolare consecutive 1ky i

    ky , unde 3;1k s se determine funciile spline cubice yfk (cu condiii spline natural) i s sereprezinte grafic variaia acestora. S se gseasc valorile aproximative ale vitezei apei la distanele

    2.0;03.0y , utiliznd funciile spline corespunztoare, adic f1(0.03) i f3(0.2). S se calculeze erorilerelative ry [%] n raport cu valorile exacte ale vitezei, 03.0v i 2.0v , definite de (2.22).

    Utiliznd un program de calcul pentru funciile spline cubice cu condiiile de tip spline (2.18), s seaproximeze viteza apei n funcie de distana la perete,considernd o discretizare foarte fin a intervalului 25.0;0 , cu pasul 0001.0h . Comentai rezultatele.

    Problema 5 S se determine eroarea absolut care se comite n calculul lui 115 , folosind un polinom deinterpolare Lagrange de gradul 2 i nodurile: 1000 x , 1211 x i 1442 x , dac se consider valoarea

    exact: 10.72380115 .

    Problema 6 S se construiasc polinomul de interpolare Lagrange notat xL2 pentru funcia xxf cos i nodurile 00 x , 311 x i 212 x . S se calculeze eroarea relativ ntre 612L i

    valoarea exact 0.86602561 f .

    Problema 7 Considerm funcia definit cu ajutorul urmtorului tabel de valori:

  • 8/2/2019 Fisa2_2012

    10/10

    10

    x 0 0.5 0.75

    f(x) 1 1.1276 1.2947

    S se calculeze (aproximativ) cu ajutorul polinomului de interpolare Lagrange valoareaf(0.7).

    Problema 8 Fie funcia de dou variabile yxyxf sin, i tabelul de valori obinut pentru nodurile

    x0 = 1,x1 = 2,x2 = 3,x3 = 4,y0 = 1,y1 = 2,y2 = 3:

    i = 0 i = 1 i = 2 i = m = 3

    x

    y

    1 2 3 4

    j = 0 1 0.84147 1.68294 2.52441 3.36588

    j = 1 2 0.90930 1.81859 2.72789 3.63719

    j = n = 2 3 0.14112 0.28224 0.42336 0.56448

    S se determine, cu ajutorul polinomul Lagrange bidimensional yxLmn , din (2.13), care este valoareafunciei 9.1,3.232L i s se calculeze eroarea absolut fa de valoarea exact 2.17659.1,3.2 f .

    Program GNU Octave:

    octave#1>[x,y]=meshdom(1:4,1:3); f=x.*sin(y);octave#2>m=length(x)-1; n=length(y)-1; xs=2.3; ys=1.9;octave#3>fexact=2.3*sin(1.9)octave#4>ea=abs(fexact-lagr2(f,x,y,m,n,xs,ys))