我有一组向量,这些向量包含任意形状,例如具有单个最大值的三角形脉冲。 我需要通过整数因子对这些向量进行下采样。 最大值相对于向量长度的位置应保持不变。
下面的代码显示,当我这样做时,降采样步骤引入了一个bias=-0.0085
,平均应该为零。
根据向量的数量,偏差似乎并没有太大变化(尝试200到800个向量)
我还尝试了downsample
和decimate
之类的不同重采样函数,以得到相同的结果。
datapoints = zeros(1000,800);
for ii = 1:size(datapoints,2)
datapoints(ii:ii+18,ii) = [1:10,9:-1:1];
end
%downsample each column of the data
datapoints_downsampled = datapoints(1:10:end,:);
[~,maxinds_downsampled] = max(datapoints_downsampled);
[~,maxinds] = max(datapoints);
%bias needs to be zero
bias = mean(maxinds/size(datapoints,1)-maxinds_downsampled/size(datapoints_downsampled,1))
此图显示存在一个不依赖于向量数量的系统偏差
如何消除这种偏见?仅给定一个向量,有没有办法确定其幅度?
它来自哪里?