Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - 日本語

Change language to:
English - Français - Português

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

Scilab manual >> Interpolation > cshep2d

cshep2d

2次元3次シェパード(散布)補間

呼び出し手順

tl_coef = cshep2d(xyz)

パラメータ

xyz

(グリッド状ではない)補間点 (i番目の行は(x,y)座標,および i番目の補間点の高度zを指定します)

tl_coef

(cshep2d型の) tlist scilab構造体

説明

この関数は, 補間点がグリッド上にない時に 2次元補間関数を定義する際に有用です (この場合もこの関数を使用できますが, splin2dの方がこの目的にはより 適しています). この補間式は,3次シェパード補間でC2 (2階微分可能な連続関数)であり, 任意のi=1,..,nについて s(xi,yi)=ziとなるような 2変数関数s(x,y)です ((xi,yi,zi)xyz のi番目のとなります).

何らかの点におけるsの評価は, eval_cshep2d関数により行う 必要があります.

注意

この関数はn >= 10で, ノードが同一線上になく (すなわち,補間点の座標 (x,y)座標が同じ直線上にない), 冗長なノードが存在しない(すなわち,同じ(x,y)に ついて複数の補間点が存在しない)場合に 動作します. これらの条件は満たされない場合, エラーが発生します.

// ランダムに選択された補間点について cos(x)cos(y)を補間します
n = 150; // nb 個の補間点
xy = grand(n,2,"unf",0,2*%pi);
z = cos(xy(:,1)).*cos(xy(:,2));
xyz = [xy z];
tl_coef = cshep2d(xyz);

// グリッドにおける評価
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("Cubic Shepard Interpolation of cos(x)cos(y) with randomly choosen interpolation points")
legends("interpolation points",-9,1)
show_window()

作者

  • Robert J. Renka
  • B. Pincon (scilab interface)
<< bsplin3val Interpolation 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:25:04 CET 2011