Matlab样条插值从Y中找到X.

时间:2012-11-10 04:31:58

标签: matlab spline interpolation

当y = 0时,我需要找到x的值。

这是我的代码:

x=[2,3,4,5,6]; 
y=[10,8,4,1,-2]; 
xi=linspace(2,6,100); 
yi=interp1(x,y,xi,'spline'); 
plot(x,y,'o',xi,yi,'-') 
xlabel('x')
 ylabel('y') 
title('Data')

我尝试使用fzero,但我无法弄清楚正确的语法。

我没有使用函数f(x),只有给定的点。

1 个答案:

答案 0 :(得分:2)

有几点需要注意:

  1. 'spline'指的是三次样条。绝对肯定这是你想要的插值技术。使用xi=linspace(0,6,100);
  2. 重新运行您的代码
  3. 可以在插值函数上调用fzero函数:

    fzero(@(xi)interp1(x,y,xi,'spline'),5)