我正在尝试将变量定义为变量(就像在数学中一样)。我的代码的目标是创建许多点的高斯图,并通过添加所有这些高斯分布来创建总体密度。像这样:
注意: 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进行符号操作?
答案 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表达式的列表。