2次元上にランダムに分布した点における値を,3次スプライン補間を用いてグリッドデータにする関数csa2の拡張版。重み付け,微分値,データが疎な領域の扱いに対応している。
zo = csa2x(xi,yi,zi,wts,knots,smth,nd,xo,yo)
〔入力変数〕
xi[*]
2次元上にランダムに分布した点のx座標が入った1次元配列。
yi[*]
2次元上にランダムに分布した点のy座標が入った1次元配列。xiと同じ大きさである必要がある。
zi
2次元上にランダムに分布した点における値が入った配列。zi(...,i)は座標[xi(i),yi(i)]における値を示す。最も右の次元の大きさがxiと同じ大きさである必要がある。
wts
各点に対する重みが入った1次元配列。xiと同じ大きさである必要がある。重みは相対値で与えられ,規格化される。重みをかける必要がない場合には-1とする。
knots[2]
スプライン補間のノットが入った大きさ2の1次元配列。knots(0)もknots(1)も4以上である必要がある。
smth[1]
データが疎な領域での外挿に対する平滑化のパラメータ。0だと何もしない。1がちょうど良いらしい。
nd[2]
0:生の値,1:1階微分値,2:2階微分値を返す。nd(0)がx方向の微分階数,nd(1)がy方向の微分階数を示す。
xo[*]
変換後のグリッドのx座標が入った1次元配列。
yo[*]
変換後のグリッドのy座標が入った1次元配列。
〔出力変数〕
zo
ziが2次元グリッドに変換された配列。zo(...,i,j)は座標[xo(i),yo(j)]における,ndで指定した微分値(あるいは生の値)を示す。