1

是否可以在网格值之外实现双三次插值?例如:

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
4

1 回答 1

0

我的建议是,您可以输入推断的值。检查下面的代码。但请注意,正如 faffr 所建议的那样,外推的表现非常糟糕。

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')

注意:不要在代码中使用内建命令如长度、大小等作为变量,即使是为了演示,也有些麻烦。

虽然,这不是答案,但我必须在这里发布以供讨论。

于 2017-06-08T10:35:43.317 回答