Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
Autores
- Robert J. Renka
- B. Pincon (interface do Scilab)
<< bsplin3val | Interpolação | eval_cshep2d >> |