我想在一列内插值。使用Matlab

时间:2015-06-04 09:10:02

标签: matlab

矩阵看起来像这样:

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列的值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

interp1linearextrap选项

一起使用
%// 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