【发布时间】:2014-03-30 06:00:46
【问题描述】:
鉴于
z = np.linspace(1,10,100)
计算z^k * exp((-z^2)/ 2)中所有z值的总和
import numpy as np
import math
def calc_Summation1(z, k):
ans = 0.0
for i in range(0, len(z)):`
ans += math.pow(z[i], k) * math.exp(math.pow(-z[i], 2) / 2)
return ans
def calc_Summation2(z,k):
part1 = z**k
part2 = math.exp(-z**2 / 2)
return np.dot(part1, part2.transpose())
谁能告诉我calc_Summation1 和calc_Summation2 有什么问题?
【问题讨论】:
-
- 在指数中的位置错误。你有
math.exp(math.pow(-z[i], 2) / 2)你想要math.exp(-math.pow(z[i], 2) / 2) -
第二次使用
part2 = map(math.exp,-z**2 / 2)和return np.dot(part1, part2)无需转置一维数组。
标签: python python-2.7 math numpy