web-dev-qa-db-ja.com

pythonの関数の二乗平均平方根

Pythonで関数の二乗平均平方根を計算したい。私の関数は、y = f(x)のような単純な形式です。 xとyは配列です。

Numpy and Scipy Docs を試しましたが、何も見つかりませんでした。

5
user4179448

次の擬似コードで指定された式を計算すると仮定します。

ms = 0
for i = 1 ... N
    ms = ms + y[i]^2
ms = ms / N
rms = sqrt(ms)

つまり、yの要素の2乗値の平均の平方根です。

Numpyでは、次のようにyを単純に2乗して、その 平均 を取得し、次に 平方根 を取得できます。

rms = np.sqrt(np.mean(y**2))

したがって、たとえば:

>>> y = np.array([0, 0, 1, 1, 0, 1, 0, 1, 1, 1])  # Six 1's
>>> y.size
10
>>> np.mean(y**2)
0.59999999999999998
>>> np.sqrt(np.mean(y**2))
0.7745966692414834

他の質問をするつもりなら、質問を明確にしてください。

16
Praveen