Fisa2_2012
-
Upload
mirela-mirry -
Category
Documents
-
view
230 -
download
2
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))