【发布时间】:2014-07-12 14:52:58
【问题描述】:
我发现另一个人问了同样的问题,但答案不适用于任意长度的向量。
Averaging every n elements of a vector in matlab
问题:
x=[1:12]; y=% 平均运算; 手术后, y=[2 2 2 5 5 5 8 8 8 11 11 11] 因此生成的向量大小相同,每 3 个值的跳跃平均值替换用于生成平均值的值(即 1 2 3 替换为三个值的平均值 2 2 2)。有没有办法在没有循环的情况下做到这一点?
但是如果向量 x 是任意的(在我的例子中,例如 500001)并且您想任意缩小它,例如取平均超过 1000 个样本...是否没有现成的 matlab 函数,这似乎是一个标准问题?
【问题讨论】:
-
填充它以制作长度为5001000的向量,然后按照链接中的代码进行操作,然后将末尾切断。使这项工作适用于任意长度应该不会太难。
-
您应该指定您希望对未包含完整长度的 1000 个样本的数据系列的剩余部分进行什么处理。解决方案取决于此。
标签: matlab vector moving-average