使用Matlab中的interp2对特定点进行立方插值

时间:2017-05-03 11:01:59

标签: matlab interpolation cubic spatial-interpolation bicubic

鉴于以下示例是否有一种方法可以实现双三次插值而不会生成整个精细间距网格?:

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

警告:'立方体'方法要求网格具有均匀性   间距。从'立方体'切换方法到' spline'因为这   条件不符合。

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

1 个答案:

答案 0 :(得分:1)

如果您坚持使用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') 插值方法,则可以使用griddata指定用于插入散乱数据,即未在均匀间隔网格上定义的数据:

aes-256-ecb