通过Python。用不同的图形制作标准偏差和平均线

时间:2013-02-27 07:38:10

标签: python standards deviation

也许标题看起来有点令人困惑。

例如,有三个函数,如sin(x),3 sine(x)和sin(x)+1。 X将从1到100.如何为这三个函数值绘制具有标准偏差(+和 - )的均值线。我想也许我应该计算每个x的三个函数值(sin(x),3 sin(x)和sin(x)+1)的平均值和标准差。但是,我不知道如何用python做到这一点。我知道Scipy中有一些标准偏差和平均值的功能。这适用于这种情况吗? 也许这是一个愚蠢的问题。不过,我很新手。我真的很感激任何帮助。

致以最诚挚的问候,

艾萨克

2 个答案:

答案 0 :(得分:1)

我不确定你的意思,但也许以下是一个有用的例子:

>>> import numpy as np
>>> x = np.arange(1,100)
>>> m = (sin(x)+1).mean()
>>> s = (sin(x)+1).std()
>>> print m, s
1.00383024876 0.710743876537

[进一步澄清后编辑]

但是,如果您想要各种函数的每个x点的平均值,那么这样的事情就可以了:

>>> y = np.array([sin(x), 3*sin(x), sin(x)+1])
>>> m = y.mean(axis=0)
>>> s = y.std(axis=0)

这将给你100个手段和100个stddevs。

如果你想要组合函数的平均值,你基本上回到了第一个例子:

>>> m = (sin(x) + 3*sin(x) + sin(x)+1).mean()
>>> s = (sin(x) + 3*sin(x) + sin(x)+1).std()
>>> print m, s
1.01915124381 3.55371938269

适用于您的选项取决于您的问题的背景;我对此一无所知。

答案 1 :(得分:0)

import numpy as np

def function_1(X):
    return np.sin(X) 

def function_2(X):
    return 3. * np.sin(X) 

def function_3(X):
    return np.sin(X + 1.) 

X = np.arange(100)

# mean
print function_1(X).mean()

# std dev
print function_1(X).std()

# to plot
from matplotlib import pyplot as mp
mp.plot(X, function_1(X))
mp.hlines(function_1(X).mean(), 0, 100)
mp.show()

依旧......但你真的需要绘制正弦函数的“均值”吗?想一想......