为什么interp2和interpn在MATLAB中给出不同的结果



我发现interp2和interpn在MATLAB中给出了不同的结果,尽管我使用了相同的方法。请试试这两个样品。

test1=interp2([1,2],[6,7],[0,14317;25217,45817],1.1107,6.1348,'linear');

test2=interpn([1,2],[6,7],[0,14317;25217,45817],1.1107,6.1348,'linear');

第一个产生5078,第二个产生4815(与手工计算的相同(

通过查看函数,我发现interp2使用makegridinterp,而interpn使用gridedInterpolant。有人能说出其中的区别吗?谢谢

我需要一段时间才能意识到:interp2用于网格格式,而interpn用于ngrid格式。因此,x和y应该在interp2中切换!(interp1相同(test3等于test2。test3=interp2([6,7],[1,2],[0,14317;25217,45817],6.1348,1.1107,'linear');

相关内容

  • 没有找到相关文章

最新更新