使用下面的数组:
-2, 0
-1, 0.1
0, 0.4
2, 0.6
3, 0.9
5, 1
我需要能够使用MatLab中的函数对其进行插值,以找出x
与y = 0.06, 0.13, 0.58
对应的值
答案 0 :(得分:1)
就这么简单:
A = [-2, 0;
-1, 0.1;
0, 0.4;
2, 0.6;
3, 0.9;
5, 1 ]
yi = [0.06, 0.13, 0.58]
然后:
xi = interp1(A(:,2),A(:,1),yi)
返回:
xi =
-1.4000 -0.9000 1.8000
你可以自己发现;)
答案 1 :(得分:1)
您正在寻找的功能是interp1
。您可以以两种形式使用它,如果您想要线性插值,那么您只需使用:
x = [0,0.1,0.4,0.6,0.9];
v = [-2,-1,0,2,3,5];
xq = [0.06,0.13,0.58];
vq = interp1(x,v,xq);
导致
vq =
-1.4000 -0.9000 1.8000
如果你想要一种不同类型的插值,你可以把你想要的类型作为4 th 参数:
vq = interp1(v,x,xq,'PCHIP');
导致
vq =
-1.3185 -0.8534 1.8695
可用的插值方法有:nearest
,linear
,spline
,pchip
和cubic
。