-1

也许标题看起来有点混乱。

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

此致,

艾萨克

4

2 回答 2

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 个标准开发者。

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

>>> 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

哪个选项适用于您取决于您​​的问题的上下文;我对此一无所知。

于 2013-02-27T09:43:18.007 回答
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()

等等...但是您真的需要绘制正弦函数的“平均值”吗?想一想...

于 2013-02-27T09:37:59.473 回答