在python中使用np.sum和函数时出错

时间:2016-09-26 02:16:19

标签: python numpy ipython

我试图将积分计算为点的总和。这是我的代码的重要部分:

我定义了一个数组:

x = np.arange(-3,3,0.0223)

对于这个数组,我想定义一个函数shell_charge,它将我定义为shell的内部位的值相加为r< = x

def piecew(x):
    inside_shell = np.where(r <= x)
    shell_charge = np.sum(dq[inside_shell])

^^这就是我想要理解和解决的问题

    conds = [x == 0, (x >= -0.5) & (x <= 0.5), (x > 0.5) & (x < -0.5)]
    funcs = [lambda x: 0.0, lambda x: k * shell_charge * (x)**-2, 
        lambda x: k * total_charge * (x+0.5)**-2.]
    return np.piecewise(x, conds, funcs)

xx = np.linspace(-3, 3, 1000)

plt.plot(xx,piecew(xx))
plt.title("electric field along the x-axis")
plt.xlabel("x position [m]")
plt.ylabel("mag(E) [N/C]")
plt.show()

我对使用数组非常陌生,我不知道如何做到这一点,我真的很感激任何帮助。

0 个答案:

没有答案