stcol
scattered translates 型選点行列
構文
colmat = stcol(centers,x,type)
colmat = stcol(...,'tr')
説明
colmat = stcol(centers,x,type)
は行列で、(i
,j
) 番目のエントリは次のとおりです。
二変量関数 ψj と数値 n
は centers
および文字ベクトルまたは string スカラー type
に依存します。これについては、stmak
の説明で詳しく述べられています。
centers
と x
は、行数が等しい行列でなければなりません。
type
の既定値は文字ベクトル 'tp'
で、この既定値の場合、n
は size(centers,2)
に等しくなり、関数 ψj は次によって与えられます。
ψ は、薄板スプライン基底関数です。
|x| は、ベクトル x のユークリッド ノルムを示しています。
メモ:
type
のその他の指定可能な値の説明については、stmak
を参照してください。
行列 colmat
は、次の線形システムの係数行列です。
f がサイト x(:,i)
(すべての i
について) で値 yi を内挿するためには、関数 f = Σjajψj の係数 aj が上記を満たしていなければなりません。
colmat = stcol(...,'tr')
は、stcol(...)
によって返された行列の転置を返します。
例
例 1. 以下は、次の関数を評価し、
規則的なメッシュにプロットします。ψ は前述の薄板基底関数で、c1、c2、c3 の 3 つの点は単位円上にあります。以下の Figure を参照してください。
a = [0,2/3*pi,4/3*pi]; centers = [cos(a), 0; sin(a), 0]; [xx,yy] = ndgrid(linspace(-2,2,45)); xy = [xx(:) yy(:)].'; coefs = [1 1 1 -3.5]; zz = reshape( coefs*stcol(centers,xy,'tr') , size(xx)); surf(xx,yy,zz), view([240,15]), axis off
例 2. 以下は、例 1 の関数の勾配の長さも評価し、同じメッシュ上にプロットします。
zz = reshape( sqrt(... ([coefs,0]*stcol(centers,xy,'tp10','tr')).^2 + ... ([coefs,0]*stcol(centers,xy,'tr','tp01')).^2), size(xx)); figure, surf(xx,yy,zz), view([220,-15]), axis off