有没有一种方法可以计算移动平均值,从而将数组开头和结尾的值与另一端的值进行平均?
例如,代替此结果:
A=[2 1 2 4 6 1 1];
movmean(A,2)
ans = 2.0 1.5 1.5 3.0 5 3.5 1.0
我想获得矢量
[1.5 1.5 1.5 3 5 3.5 1.0]
,因为初始数组元素2将与结尾元素1平均。 最佳答案
概括为任意窗口大小N
,这是您可以通过以下方式向 movmean
添加循环行为:
movmean(A([(end-floor(N./2)+1):end 1:end 1:(ceil(N./2)-1)]), N, 'Endpoints', 'discard')
对于给定的
A
和N = 2
,您将获得:ans =
1.5000 1.5000 1.5000 3.0000 5.0000 3.5000 1.0000
关于matlab - 在圆上移动均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45788547/