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

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ヘルプ >> 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 chosen interpolation points")
legends("interpolation points",-9,1)
show_window()

参照

  • splin2d — 双3次スプラインのグリッド2次元補間
  • eval_cshep2d — 2次元の3次シェパード補間の評価

履歴

バージョン記述
5.4.0 以前は,入力引数の虚部は暗黙的に無視されていました.
Report an issue
<< 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:
Mon Jan 03 14:37:48 CET 2022