Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - 日本語

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Ajuda Scilab >> Interpolação > interp2d

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 e yp, avaliação elemento a elemento de s nestes pontos.

dzpdx, dzpdy

vetores (ou matrizes) de mesmo formato que xp e yp, avaliação elemento a elemento das derivadas primeiras de s nesses pontos.

d2zpdxx, d2zpdxy, d2zpdyy

vetores (ou matrizes) de mesmo formato que xp e yp, eavaliação elemento a elemento das derivadas segundas de s 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 :

s(x,y) = s(proj(x,y)) onde  proj(x,y) é o ponto mais próximo 
                      em [x(1),x(nx)]x[y(1),y(ny)] de (x,y)
"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

Autor

B. Pincon

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 11:00:30 CET 2011