0

鉴于以下示例,有没有一种方法可以在不生成整个细间距网格的情况下实现双三次插值?:

    years = [5,10,20,25,40];
    service = 1:3;
wage = [50 99 787.685
          779 795 850
          803 779 388
          886 753 486
          849 780 598];
    w = interp2(service,years,wage,1.5,37.5,'cubic')

警告:“立方”方法要求网格具有均匀的间距。由于不满足此条件,因此将方法从“三次”切换为“样条”。

我理解警告的原因。所以希望通过指定特定点来找到解决方案,而不必生成整个等间距的表面(可用的数据不是等间距的)。不一定非要interp2。我将不得不为数百个表面和数百个查询点运行它,因此需要非常快地返回“w”。有任何想法吗?

4

1 回答 1

1

如果您坚持使用'cubic'插值方法,您可以使用griddata指定用于插值分散数据的方法,即未在均匀间隔网格上定义的数据:

years = [5,10,20,25,40];
service = 1:3;
wage = [50 99 787.685
    779 795 850
    803 779 388
    886 753 486
    849 780 598];
w = griddata(service,years,wage,1.5,37.5,'cubic')
于 2017-05-03T17:07:23.263 回答