初期入力ベクトルの長さを維持しながら、入力データセット全体でステッピング平均を実行しようとしているようです。私の知る限り、これを行う単一の機能はありません。
しかし、あなたはかなり簡単にPythonでそれを行うことができます。たとえば:
def blurryAverage(inputCollection, step=1):
""" Perform a tiling average of an input data set according to its
step length, preserving the length of the initial input vector """
# Preconditions
if (len(inputCollection) % step != 0):
raise ValueError('Input data must be of divisible length')
ret = []
for i in range(len(inputCollection)/step):
tot = 0.0
for j in range(step):
tot += inputCollection[(i*step)+j]
for j in range(step):
ret.append(tot/step) # Implicit float coercion of step
return ret
>>> blurryAverage([1,2,3,4,5,6],3)
[2.0, 2.0, 2.0, 5.0, 5.0, 5.0]
>>> blurryAverage([1,2,3],4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in blurryAverage
ValueError: Input data must be of divisible length
これは、移動平均が必要なように読み取ります。あれは正しいですか? – PengOne
私はあなたが達成しようとしていることを完全に理解していないと思うが、あなたは[smooth](http://www.mathworks.com/help/toolbox/curvefit/smooth.html) 。 –
はい、移動平均は私が探していたものです!それを行う組み込み関数はありますか?私は滑らかにしました、それは非常に滑らかではありません、私のグラフがあまりにも 'ノイズが多い'ため、平均を見つけることがノイズを減らすことができると思います。 – Bonk