矩阵看起来像这样:
0 0
0.1 0
0.2 0
0.3 5
0.4 0
0.5 0
0 0
0.1 0
0.2 6
0.3 0
0.4 0
0.5 0
正如你所看到的,它是一个简单的矩阵(x,y),我想要的是线性插值第2列的值。我该怎么做?
答案 0 :(得分:1)
将interp1
与linear
和extrap
选项
%// Taking only the non-zero rows
B = A(all(A,2),:)
%// performing linear interpolation on first column of 'A' with 'interp1'
out = interp1(B(:,1),B(:,2),A(:,1),'linear','extrap')
<强>结果:强>
B =
0.3000 5.0000
0.2000 6.0000
out =
8.0000
7.0000
6.0000
5.0000
4.0000
3.0000
8.0000
7.0000
6.0000
5.0000
4.0000
3.0000
如果您希望他们使用x
值
out = [A(:,1),out]
你得到了
out =
0 8.0000
0.1000 7.0000
0.2000 6.0000
0.3000 5.0000
0.4000 4.0000
0.5000 3.0000
0 8.0000
0.1000 7.0000
0.2000 6.0000
0.3000 5.0000
0.4000 4.0000
0.5000 3.0000