このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
stmak
st 型の関数の組み立て
構文
stmak(centers,coefs)
st = stmak(centers,x,type)
st = stmak(centers,coefs,type,interv)
説明
stmak(centers,coefs)
は、次によって与えられる関数 f の st 型を返します。
に対し
これは、薄板スプライン基底関数であり、|x| はベクトル x のユークリッド ノルムを示しています。
centers
と coefs
は、列数が等しい行列でなければなりません。
st = stmak(centers,x,type)
は、次によって与えられる関数 f の st 型を st
に保存します。
ψj は文字ベクトルまたは string スカラー type
で示されているとおり、次のいずれかになります。
'tp00'
、薄板スプラインの場合'tp10'
、1 番目の引数に関する薄板スプラインの 1 次導関数の場合'tp01'
、2 番目の引数に関する薄板スプラインの 1 次導関数の場合'tp'
、既定の設定
以下で詳しく説明します。
| ψj(x) = φ(|x – cj|2), cj ここで、φ(t) = tlog(t) ψn–2(x) = x(1) ψn–1(x) = x(2) ψn(x) = 1 |
| ψj(x) = φ(|x – cj|2), cj ここで、φ(t) = (D1t)(logt + 1)、D1t は t = t(x) = |x – cj|2 の偏導関数 x(1) に関して ψn(x) = 1 |
| ψj(x) = φ(|x – cj|2), cj ここで、φ(t) = (D2t)(logt + 1)、D2t は t = t(x) = |x – cj|2 の偏導関数 x(2) に関して ψn(x) = 1 |
| ψj(x) = φ(|x – cj|2), cj ここで、φ(t) = tlog(t) |
また、st = stmak(centers,coefs,type,interv)
は、interv{j}
の指定により、形式 [a,b]
(j
番目の変数の範囲) で、st 型の基本区間を指定します。interv
の既定値は、すべての与えられた中心を含む最小のボックスとなります。
例
例 1. 以下は、薄板スプライン基底関数 の次の Figure を生成します。ただし、この関数が原点近くで負であることを示すために、適切に制約されています。このため、0 レベルを示すための線が追加されています。
inx = [-1.5 1.5]; iny = [0 1.2]; fnplt(stmak([0;0],1),{inx,iny}) hold on, plot(inx,repmat(linspace(iny(1),iny(2),11),2,1),'r') view([25,20]),axis off, hold off
例 2. ここでは、薄板スプライン基底関数の 1 次偏導関数 D2ψ (2 番目の引数に関する) を生成し、まったく同じドメイン上にプロットします。
inx = [-1.5 1.5]; iny = [0 1.2]; fnplt(stmak([0;0],[1 0],'tp01',{inx,iny})) view([13,10]),shading flat,axis off
今回は、st 型の基本区間を明示的に設定した点に注意してください。
得られた以下の Figure は、原点近くの非常に強い変動を示しています。これは、ψ の "2 次" 導関数がそこに対数特異性をもつという事実を反映しています。