也许标题看起来有点令人困惑。
例如,有三个函数,如sin(x),3 sine(x)和sin(x)+1。 X将从1到100.如何为这三个函数值绘制具有标准偏差(+和 - )的均值线。我想也许我应该计算每个x的三个函数值(sin(x),3 sin(x)和sin(x)+1)的平均值和标准差。但是,我不知道如何用python做到这一点。我知道Scipy中有一些标准偏差和平均值的功能。这适用于这种情况吗? 也许这是一个愚蠢的问题。不过,我很新手。我真的很感激任何帮助。
致以最诚挚的问候,
艾萨克
答案 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()
依旧......但你真的需要绘制正弦函数的“均值”吗?想一想......