Transcript Tanım

INTERPOLASYON
Matlab ile ara değer bulma.
INTERPOLASYON TEKNİKLERİ
• Hesaplanamayan fonksiyonlara, (gözardı edilebilir
bir hata payı ile), bir tür yaklaşım yöntemidir.
• Rasyonel interpolasyon yöntemleri ile açık ve
kapalı formüller elde edilebilir ve bu formüller adi
diferansiyel denklemler için başlangıç değer
problemine uygulanarak yaklaşık çözümler elde
edilir.
• Kısaca interpolasyon, elimizde bulunan
değerlerle, bulunmayan değerlerin elde
edilmesidir.
Matlab Interpolasyon Fonksiyonları
• Ara değer bulma fonksiyonları, verilen tek, iki
yada üç boyutla veriler arasında, ara değerler
üretir.
•
•
•
•
•
•
interp1
interp2
interp3
meshgrid
pchip
spline
INTERP1 – Tek boyutlu interpolasyon
•
•
•
•
Tanım :
Tek boyutlu ara değerleri hesaplar.
Kullanım :
yi = interp1(x,Y,xi)
yi = interp1(Y,xi)
yi = interp1(x,Y,xi,method)
yi = interp1(x,Y,xi,method,'extrap')
yi = interp1(x,Y,xi,method,extrapval)
pp = interp1(x,Y,method,'pp')
• Spline metodu, splie fonksiyonunu çağrırıç
• Pchip ve cubic metodları, pchip fonksiyonunu çağırır.
•
•
•
•
•
'nearest'
'linear'
'spline'
'cubic'
‘pchip‘
en yakın komşuluk ara değer bulma
lineer ara değer bulma
kübik spline ara değer bulma
kübik ara değer bulma
Piecewise cubic Hermite interpolation
INTERP1 – Tek boyutlu interpolasyon
• Örnek :
• t = 1900:10:1990;
• p = [75.995 91.972 105.711 123.203 131.669...
• 150.697 179.323 203.212 226.505 249.633];
>> interp1(t,p,1975)
ans =
214.8585
INTERP2 – 2 Boyutlu Interpolasyon
• Look up tablosa ileçalışan 2 boyutlu ara değer
bulma.
• Kullanım :
• ZI = interp2(X,Y,Z,XI,YI)
ZI = interp2(Z,XI,YI)
ZI = interp2(Z,ntimes)
ZI = interp2(X,Y,Z,XI,YI,method)
ZI = interp2(...,method, extrapval)
INTERP2 - 2 boyutlu Interpolasyon
• Örnek :
>>[X,Y] = meshgrid(-3:.25:3);
Z= peaks(X,Y);
[XI,YI] = meshgrid(-3:.125:3);
ZI = interp2(X,Y,Z,XI,YI);
mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15)
hold off
axis([-3 3 -3 3 -5 20])
INTERPN - Çok boyutlu Interpolasyon
• Çok boyutlu ara değer hesaplar.
• Kullanım :
VI = interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...)
VI = interpn(V,Y1,Y2,Y3,...)
VI = interpn(V,n)VI = interpn(...,metot).
INTERPN - Çok boyutlu Interpolasyon
PCHIP – Hermit Interpolasyonu
• Tanım :
• Kullanım :
• yi = pchip(x,y,xi)
pp = pchip(x,y)
PCHIP – Hermite Interpolasyonu
• Örnek :
x = -3:3;
y = [-1 -1 -1 0 1 1 1];
t = -3:.01:3;
p = pchip(x,y,t);
s = spline(x,y,t);
plot(x,y,'o',t,p,'-',t,s,'-.') legend('data','pchip','spline',4)
SPLINE Interpolasyonu
• Tanım:
• Kübik şerit ara değer bulur.
• yy = spline(x,Y,xx)
pp = spline(x,Y)
SPLINE Interpolasyonu
• Örnek
x = 0:10;
y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
SPLINE Interpolasyonu
MESHGRID – Yüzey Interpolasyonu
• Tanım :
• Üç boyutta, x ve y yönünde are değer bulmayı
sağlar.
• Kullanım :
• [X,Y] = meshgrid(x,y)
[X,Y] = meshgrid(x)
[X,Y,Z] = meshgrid(x,y,z)
MESHGRID – Yüzey Interpolasyonu
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X .* exp(-X.^2 - Y.^2);
surf(X,Y,Z)
MESHGRID – Yüzey Interpolasyonu
INTERP3 – 3 Boyutta ara değer bulma
• Tanım:
• 3 Boyutta verilerin ara değer bulmayı sağlar.
• VI = interp3(X,Y,Z,V,XI,YI,ZI)
VI = interp3(V,XI,YI,ZI)
VI = interp3(V,ntimes)
VI = interp3(...,method)
VI = interp3(...,method,extrapval)
INTERP3 – 3 Boyutta ara değer bulma
• Örnek :
• [x,y,z,v] = flow(10); [xi,yi,zi] = meshgrid(.1:.25:10, -3:.25:3, 3:.25:3); vi = interp3(x,y,z,v,xi,yi,zi); % vi is 25-by-40-by-25
slice(xi,yi,zi,vi,[6 9.5],2,[-2 .2]), shading flat
INTERP3 – 3 Boyutta ara değer bulma