Python:如何评估网格上的函数

时间:2014-03-06 01:53:14

标签: python function numpy grid scientific-computing

我是编程和科学计算的新手。下面是一些用于评估网格上的指数积分的代码。积分是距离点的径向距离的函数。我想在网格上对来自多个点(具有定义的x,y坐标)的贡献求和。我在分析上意识到这是简单的叠加,但我对如何构建循环总结了点的贡献和最有效的方法感到困惑。如果有人有任何建议或参考,将不胜感激。设置网格和评估功能的代码如下:

S=.0004
xi0 = 1.0
dx = 10.0
side = 100.0
points = 500
spacing = side/points
x1 = side/2 + dx/2
y1 = side/2
x2 = side/2 - dx/2
y2 = side/2
xi = empty([points,points],float)
for i in range(points):
y = spacing*i
for j in range(points):
    x = spacing*j
    r1 = sqrt((x-x1)**2+(y-y1)**2)
    r2 = sqrt((x-x2)**2+(y-y2)**2)
    u = (r1*r1*S)
    xi[i,j] = expn(1,u)

1 个答案:

答案 0 :(得分:1)

也许这样的事情可能是合适的

x = np.linspace(0, side, points)
y = np.linspace(0, side, points)
r1 = np.sqrt((x-x1)**2 + (y-y1)**2)
r2 = np.sqrt((x-x2)**2 + (y-y2)**2)
u = (r1 * r2 * s)
xi = np.exp(u)