是否有可能实现超出网格值的双三次插值?例如:
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
我的建议是,您可以输入外推的值。检查下面的代码。但请注意,正如缺陷所建议的那样,外推法的行为非常糟糕。
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')
注意:不要在代码中使用内置命令(如长度,大小等(作为变量,即使是为了演示,也有些麻烦。
虽然,这不是答案,但我必须在这里发布它以供讨论。