【发布时间】:2017-05-03 11:01:59
【问题描述】:
鉴于以下示例,有没有一种方法可以在不生成整个细间距网格的情况下实现双三次插值?:
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')
警告:'cubic' 方法要求网格具有统一的 间距。将方法从“立方”切换到“样条”,因为这样 条件不满足。
我了解警告的原因。所以希望通过指定特定点来找到解决方案,而不必生成整个等间距的表面(可用的数据不是等间距的)。不一定非要interp2。我将不得不为数百个表面和数百个查询点运行它,因此需要非常快地返回“w”。 有什么想法吗?
【问题讨论】:
-
不确定我是否理解这个问题?您能否给出您想要提供的输入数据类型(以及预期的输出)。就目前而言,您的代码有效(尽管有警告)...
-
你通常可以忽略警告,除非它说的是奇点等。它给了你正确的答案吗?在这种情况下,它可能会自动切换到“样条线”。
标签: matlab interpolation cubic spatial-interpolation bicubic