【发布时间】:2012-10-15 22:14:08
【问题描述】:
我有可变长度的数据(以 2D 记录的到达运动)并希望创建一个函数,将这些数据重新采样为统一长度(500 个样本)。
但是,我希望 matlab 仅在给定的最大值和最小值之间重新采样,而不增加任何额外的距离。例如,如果我对矩阵 [1:1:10] 重新采样,则重新采样的矩阵应该具有最小值 1 和最大值 10。
到目前为止,我已经尝试了以下方法:
x = [1:1:10];
interp(x, 500 / length(x));
然而,这给出的值高于我的最大指定值 10。
有什么方法可以让 matlab 仅在两点之间重新采样/插值,而不超出它们?
【问题讨论】:
-
不确定我是否理解你的问题,但你的例子可以用
x=(1:1:10)';n=500;xi=interp1((1:numel(x))',x,linspace(1,numel(x),n)');解决
标签: matlab interpolation