3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf ·...
-
Upload
phungtuyen -
Category
Documents
-
view
263 -
download
0
Transcript of 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf ·...
![Page 1: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/1.jpg)
3. Interpolacija3.1 Hermite-ov polinom3.2 Interpolacioni splajn
3.3 Dvodimenziona interpolacija
NUMERIČKE METODENovembar-Decembar 2007.
Đurđevac Nataša
![Page 2: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/2.jpg)
3.0.3 Lagrange-ov polinom
![Page 3: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/3.jpg)
Lagrange-ov polinom i MATLAB• je moguće direktno konstruisati korišćenjem
funkcije p = polyfit( x , y , n )argumentima x i y je predstavljena tabela
interpolacije;n je stepen odgovarajućeg polinoma.f-ja vraća koeficijente interpolacionog polinoma.
• Primer:• Prava koja sadrži tačke (0,0) i (1,1).
polyfit([0 1],[0 1],1)
![Page 4: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/4.jpg)
• Takodje, neophodno je i korišćenje funkcije
y = polyval ( p , x )računa vrednosti y polinoma p, stepena n, u
tačkama x;
• Izračunati vrednost polinoma x=[1 2 1] u tački 6. polyval(x,6)
Primer : lagrange_cebisev.minterp1LagrangeBad.minterp1Lagrange.m
![Page 5: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/5.jpg)
• Poly([1 1]) -> 1 -2 1– Za nule [1 1] vraća polinom (obrnuto od roots)
• X0 , X1 , ..., X i-1 , Xi, Xi+1, … , Xn1 1 … 1 0 1 … 1
• Primer: Napisati MATLAB program kojim se interpolira sin(x) na (0,3*pi) ako su dati redom 2,3,4,5,6 čvorova.
• f = 'sin(x)';x=[0:3*pi/100:3*pi];x_sample=x; plot(x,eval(f),'b'); hold onfor i=2:6
x=linspace(0,3*pi,i); y=eval(f);c=polyfit(x,y,i-1);plot(x_sample,polyval(c,x_sample),'b--')
end
![Page 6: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/6.jpg)
• yi = interp1(x,y,xi,method)• 'nearest‘ Nearest neighbor interpolation• 'linear'Linear interpolation (default)• 'spline'Cubic spline interpolation• 'pchip'Piecewise cubic Hermite
interpolation• 'cubic'(Same as 'pchip')
• Primer: interp1_demo.m (zbirka 59.strana)
![Page 7: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/7.jpg)
3.1 Hermite-ov polinom
![Page 8: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/8.jpg)
![Page 9: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/9.jpg)
![Page 10: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/10.jpg)
• Implementacija interpolacije Hermite-ovimpolinomom :
• NOVO: Y=interp1Hermite(varargin)– VARARGIN-promenljiv broj ul. argumenata f-je.prod(v)– PROD(v) je proizvod elemenata vektora v
(npr. prod(1:3)=3! ). “TRIK”: formiranje polinoma PP=c1+c2*(x-x0)+...+c(n+1)*(x-xo)^(n0)*(x-x1)^(n1)*..(x-xm)^(nm-1)
P=c1+(x-x0)*P1P1=c2+(x-x0)*P2…Pn=c(n+1)
• interp1Hermite.m• poziv: interp1Hermite([-1 5 -3 -32],[0 1 0],[1 7 17 52])
![Page 11: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/11.jpg)
![Page 12: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/12.jpg)
3.2 Interpolacioni splajn
![Page 13: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/13.jpg)
![Page 14: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/14.jpg)
![Page 15: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/15.jpg)
![Page 16: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/16.jpg)
• Koristeći ugradjenu MATLAB f-jucsape(x,y,endcond)
konstruisati kubni interpolacioni splajn zazadatu f-ju:
F(1)=0; F(2)=1; F(3)=2; F(4)=0,pri čemu je splajn(a) prirodni(b) periodični(c) sa zadatim izvodima S’(1)=2,S’(4)=2.Izračunati vrednost periodičnog splajna u tački
x=2.5, a zatim grafički prikazati svesplajnove.
![Page 17: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/17.jpg)
% Cvorovi interpolacijex = [1 2 3 4]; y = [0 1 2 0];
% Konstruisemo splajnovespl_per = csape(x, y, 'periodic'); %periodicnispl_nat = csape(x, y, 'second'); %prirodnispl_es = csape(x, [2 y 2], 'complete'); %zadati izvodi
% Vrednost periodicnog splajna u 2.5ppval(spl_per, 2.5)
% Crtanje splajnova na [1, 4]xx = linspace(1, 4);plot(xx, ppval(spl_per, xx), xx, ppval(spl_nat, xx), xx, ...
ppval(spl_es, xx), x, y, 'o')legend('periodicni', 'prirodni', 'zadati izvodi', 'cvorovi')
![Page 18: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/18.jpg)
3.3 Drugi vidovi interpolacijeDvodimenziona interpolacija
![Page 19: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/19.jpg)
![Page 20: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/20.jpg)
MATLAB i višedimenzionainterpolacija
• Z=interp2(x,y,z,X,Y)– x,y,z definišu skup tačaka na diskretnoj,
pravougaonoj mreži– X,Y su matrice tačaka u ravni u kojima se
funkcija f(x,y) približno računa interpolacijom.– matrica Z sadrži interpolisane vrednosti
polazne funkcije na finijoj mreži X,Y.• Z=interp2(x,y,z,X,Y,method)
– method ‘nearest’,’cubic’,’linear’,’spline’.
![Page 21: 3. Interpolacija - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~ndjurdjevac/Interpolacija.pdf · 3. Interpolacija 3.1 Hermite-ov polinom 3.2 Interpolacioni splajn 3.3 Dvodimenziona](https://reader034.fdocument.pub/reader034/viewer/2022052206/5a7264e47f8b9aac538d7474/html5/thumbnails/21.jpg)
• Z=griddata(x,y,z,X,Y)– x,y,z=f ( x, y) definišu skup tačaka na
diskretnoj, nepravougaonoj mreži– X,Y su matrice koje predstavljaju
pravougaonu mrežu intervala na kojima se vrši interpolacija.
– matrica Z sadrži interpolisane vrednosti polazne funkcije na finijoj mreži X,Y.
• Z=griddata(x,y,z,X,Y,method)– method ‘nearest’,’cubic’,’linear’.Zbirka strana 60-61.