尝试使用变量进行符号操作以进行数据分析

时间:2014-03-04 20:02:41

标签: python math

我正在尝试将变量定义为变量(就像在数学中一样)。我的代码的目标是创建许多点的高斯图,并通过添加所有这些高斯分布来创建总体密度。像这样:

注意: data1是一个值数组。

def pro1(ee):
    C = np.sqrt(alf)/(np.sqrt(np.pi))
    prof = C*np.exp(-alf*(x - ee)**2)
    prodat1.append(prof)
    return prodat1

for ll in data1:
    pro1(ll)

gauss1 = np.sum(prodat1)

我的想法是让prodat1成为一个函数数组,然后让gauss1成为所有这些元素的补充。

然而,这个“x”是未定义的,我不知道如何定义它,以便x保持一个未更改的变量,允许我将gauss1作为一个函数,并将其与x进行绘图。

如果可能,有谁能告诉我如何使用python进行符号操作?

2 个答案:

答案 0 :(得分:0)

符号操纵可能有点过分。 x未定义;为什么不定义它?

def pro1(ee, x):
    C = np.sqrt(alf)/(np.sqrt(np.pi))
    prof = C*np.exp(-alf*(x - ee)**2)
    return prof

def gauss1(x):
    prodat1 = []
    for ll in data1:
        prodat1.append(pro1(ll, x))
    return np.sum(prodat1)

答案 1 :(得分:0)

如何构建lambda表达式并将其存储在列表中?然后在点x_list列表中评估总和,例如:

map (lambda x: sum (map (lambda f: apply (f, [x]), lambda_list)), x_list)

其中lambda_list是lambda表达式的列表。