cshep2d
bidimensional cubic shepard (scattered) interpolation
Seqüência de Chamamento
tl_coef = cshep2d(xyz)
Parâmetros
- xyz
uma matriz n x 3 dos pontos de interpolação interpolação (sem grid), a i-ésima linha dadas as coordenadas (x,y) e então a altitude z do i-ésimo ponto de interpolação
- tl_coef
uma estrutura tlist do Scilab (do tipo cshep2d)
Descrição
Esta função é útil para definir uma função de interpolação 2d quando
os pontos não estão em um grid (você pode usá-la para este caso, mas splin2d é melhor para este propósito). O
interpolante é do tipo cúbico de Shepard e é uma função de duas variáveis
de classe C2 (duas vezes continuamente diferenciável)
s(x,y) tal que : s(xi,yi)=zi
para todo i=1,..,n ( (xi,yi,zi)
sendo a i-ésima linha de xyz
).
A avaliação de s em alguns pontos deve ser feita pela função eval_cshep2d.
Observação
A função operea se n>= 10, se os nós não são todos colineares (i.e. as coordenadas (x,y) dos pontos de interpolação não estão na mesma reta) e se não há nós duplicados (i.e. dois ou mais pontos de interpolação com as mesmas coordenadas (x,y) ). Há erro se essas condições não são respeitadas.
Exemplos
// interpolação de cos(x)cos(y) com pontos de interpolação escolhidos aleatoriamente n = 150; // número de pontos de interpolação xy = grand(n,2,"unf",0,2*%pi); z = cos(xy(:,1)).*cos(xy(:,2)); xyz = [xy z]; tl_coef = cshep2d(xyz); // avaliação em um grid m = 30; xx = linspace(0,2*%pi,m); [X,Y] = ndgrid(xx,xx); Z = eval_cshep2d(X,Y, tl_coef); clf() plot3d(xx,xx,Z,flag=[2 6 4]) param3d1(xy(:,1),xy(:,2),list(z,-9), flag=[0 0]) xtitle("Interpolação cúbica de Shepard de cos(x)cos(y) com pontos de interpolação escolhidos aleatoriamente") legends("pontos de interpolação",-9,1) show_window()
Ver Também
- splin2d — interpolação por spline bicúbico em grides 2d
- eval_cshep2d — avaliação por interpolação cúbica bidimensional de Shepard
Autores
- Robert J. Renka
- B. Pincon (interface do Scilab)
Report an issue | ||
<< bsplin3val | Interpolação | eval_cshep2d >> |