interp2d
função de avaliação spline bicúbica (2d)
Seqüência de Chamamento
[zp[,dzpdx,dzpdy[,d2zpdxx,d2zpdxy,d2zpdyy]]]=interp2d(xp,yp,x,y,C [,out_mode])
Parâmetros
- xp, yp
vetores ou matrizes de reais de mesmo tamanho
- x,y,C
vetores de reais definindo uma função de spline bicúbico ou sub-spline (chamada
s
daqui em diante)- out_mode
(opcional) string definindo a avaliação de
s
fora de [x(1),x(nx)]x[y(1),y(ny)]- zp
vetor ou matriz com o mesmo formato que
xp
eyp
, avaliação elemento a elemento des
nestes pontos.- dzpdx, dzpdy
vetores (ou matrizes) de mesmo formato que
xp
eyp
, avaliação elemento a elemento das derivadas primeiras des
nesses pontos.- d2zpdxx, d2zpdxy, d2zpdyy
vetores (ou matrizes) de mesmo formato que
xp
eyp
, eavaliação elemento a elemento das derivadas segundas des
nesses pontos.
Descrição
Dados três vetores (x,y,C)
definindo uma função
de sub-spline ou spline bicúbico (ver splin2d) esta função avalia s (e ds/dx,
ds/dy, d2s/dxx, d2s/dxy, d2s/dyy
se necessário) em
(xp(i),yp(i)) :
zp(i) = s(xp(i),yp(i)) dzpdx(i) = ds/dx(xp(i),yp(i)) dzpdy(i) = ds/dy(xp(i),yp(i)) d2zpdxx(i) = d2s/dx2(xp(i),yp(i)) d2zpdxy(i) = d2s/dxdy(xp(i),yp(i)) d2zpdyy(i) = d2s/dy2(xp(i),yp(i))
O parâmetro out_mode
define a regra de avaliação
para extrapolação, i.e., para (xp(i),yp(i)) fora de
[x(1),x(nx)]x[y(1),y(ny)]
:
- "by_zero"
uma extrapolação por zero é realizada
- "by_nan"
extrapolação por NaN
- "C0"
Extrapolação definida como segue :
- "natural"
a extrapolação é realizada utilizando o elemento de área bicúbico mais próximo de (x,y).
- "periodic"
s
é estendida por periodicidade.
Exemplos
// veja os exemplos de splin2d // este exemplo mostra características de extrapolações diferentes // interpolação de cos(x)cos(y) n = 7; // um grid de interpolação n x n x = linspace(0,2*%pi,n); y = x; z = cos(x')*cos(y); C = splin2d(x, y, z, "periodic"); // agora avaliando em um domínio maior que [0,2pi]x [0,2pi] m = 80; // parâmetro de discretização do grid de avaliação xx = linspace(-0.5*%pi,2.5*%pi,m); yy = xx; [XX,YY] = ndgrid(xx,yy); zz1 = interp2d(XX,YY, x, y, C, "C0"); zz2 = interp2d(XX,YY, x, y, C, "by_zero"); zz3 = interp2d(XX,YY, x, y, C, "periodic"); zz4 = interp2d(XX,YY, x, y, C, "natural"); clf() subplot(2,2,1) plot3d(xx, yy, zz1, flag=[2 6 4]) xtitle("Extrapolação com o outmode C0") subplot(2,2,2) plot3d(xx, yy, zz2, flag=[2 6 4]) xtitle("Extrapolação com o outmode by_zero") subplot(2,2,3) plot3d(xx, yy, zz3, flag=[2 6 4]) xtitle("Extrapolação com o outmode periodic") subplot(2,2,4) plot3d(xx, yy, zz4, flag=[2 6 4]) xtitle("Extrapolação com o outmode natural") show_window()
Ver Também
- splin2d — interpolação por spline bicúbico em grides 2d
Report an issue | ||
<< interp1 | Interpolação | interp3d >> |