2017-06-08 26 views
1

グリッド値を超えるバイキュービック補間は可能ですか?たとえば :Matlabのグリッド値を超えるバイキュービック補間

L = [5,10,20,25,40]; 
W= 1:3; 
S= [50 99 787 
    779 795 850 
    803 779 388 
    886 753 486 
    849 780 598]; 
size1 = griddata(W,L,S,2,40,'cubic') 
sizeBeyond = griddata(W,L,S,2,41,'cubic') 
sizeV4 = griddata(W,L,S,2,41,'v4') 

リターン:

size1 = 780 

sizeBeyond = NaN 

sizeV4 = 721.57 
+0

代わりに外挿された値を入力するのはなぜですか? –

+1

'griddata(...、 'cubic')'は三角スプラインを使って与えられた点の三角形内を補間します。あなたの意見でこれをどのように外挿に変換するべきですか? – flawr

+0

@flawr、それは可能なのかどうかは分かりませんが、確認したいと思います。可能であれば、このようなもの(http://uk.mathworks.com/matlabcentral/fileexchange/8998-surface-fitting-using-gridfit)を見ていましたが、立法を使用していました。必ずしもグリッドデータを使用する必要はありませんが、私のポイントは散在していて、規則的に配置されていません。 – Mary

答えて

0

私が示唆されたことで、入力することができます補外された値。以下のコードを確認してください。しかし、flawrによって示唆されているように、外挿は実際に悪い動作をすることに注意してください。

l = [5,10,20,25,40]; 
w = 1:3; 

li = [l 41] ; 

S = [50 99 787 
    779 795 850 
    803 779 388 
    886 753 486 
    849 780 598]; 
[W,L] = meshgrid(w,l) ; 
[Wi,Li] = meshgrid(w,li) ; 
Si = interp2(W,L,S,Wi,Li,'spline') ; 

size1 = griddata(W,L,S,2,40,'cubic') 
sizeBeyond = griddata(Wi,Li,Si,2,41,'cubic') 
sizeV4 = griddata(W,L,S,2,41,'v4') 

注:でもデモンストレーションのために、それがトラブルの一部である、コード内の変数として、サイズなどを長さのような作り付けのコマンドを使用しないでください。

これは答えではありませんが、議論のためにここに投稿する必要があります。

関連する問題