Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - Português

Change language to:
English - Français - 日本語 -

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

Manual Scilab >> Interpolação > cshep2d

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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:24:34 CET 2011