3

我有可变长度的数据(达到以 2D 记录的运动),并希望创建一个函数,将这些数据重新采样为统一长度(500 个样本)。

但是,我希望 matlab 只在给定的最大值和最小值之间重新采样,而不增加任何额外的距离。例如,如果我对矩阵重新采样[1:1:10],则重新采样的矩阵的最小值应为 1,最大值应为 10。

到目前为止,我已经尝试了以下方法:

x = [1:1:10];
interp(x, 500 / length(x));

但是,这给出的值高于我的最大指定值 10。

有什么方法可以让 matlab 仅在两点之间重新采样/插值,而不超出它们?

4

1 回答 1

1

如果我理解正确,您需要:

x=(1:1:10);
n=500;
xi=interp1(1:length(x),x,linspace(min(x),max(x),n));
于 2012-10-25T17:14:02.910 回答