内插以减小步长Matlab

时间:2019-04-21 12:17:53

标签: matlab data-analysis

我在matlab中有这样的数据数组:1,2,3; 2,4,6; ...在Matlab中有一个现成的算法可以插值数据并为我提供类似(例如线性)1,2,3的算法; 1.5,3,4.5; 2,4,6;

在此示例中,我的步数是0.5,而不是1。 这是线性插值的简单情况。想象我有10000行,我想进行三次插值并增加数据之间的分辨率。...我知道有数学算法,但是首先我要确保是否有任何准备使用的函数。

1 个答案:

答案 0 :(得分:1)

我认为您需要Matlab的interp1函数。

% Data points to interpolate
v = [1 2 3
     2 4 6
     ];
% X (independent variable) points for the original data
x = [1:size(v,1)]';
% X points to do the interpolation at
xq = [1:0.5:size(v,1)]';
% Do the interpolation
v_interp = interp1(x, v, xq);

interp1()的第四个参数是一个选项,用于指定要使用的插值方法,并采用'linear''cubic''spline'等参数。有关详细信息,请参见doc interpn

减小xq = [1:0.5:size(v,1)]'中的步长以提高分辨率。