Python:如何在网格上评估函数
我刚开始学习编程和科学计算。下面是一些代码,用来在一个网格上计算指数积分。这个积分是根据某个点的距离来计算的。我想把多个点(有确定的 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 个回答
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)