2014-03-06 1 views
0

프로그래밍 및 과학 컴퓨팅에 익숙하지 않습니다. 아래는 격자를 통한 지수 적분을 평가하기위한 코드입니다. 적분은 점으로부터의 반경 방향 거리의 함수입니다. 그리드 위에 여러 점 (정의 된 x, y 좌표로)의 기여도를 합산하려고합니다. 나는 분석적으로 이것은 단순한 중첩이라는 것을 알지만, 나는 점들의 기여도와 가장 효율적인 접근을 요약하는 루프를 만드는 방법에 대해 혼란스러워합니다. 누구든지 어떤 제안이나 참고 사항이 있다면, 그것은 매우 감사하겠습니다. 그리드를 설정하고 기능을 평가하는 코드는 다음과 같습니다 :Python : 격자에서 함수를 계산하는 방법

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

어쩌면 이런 일이 될 수 적절한

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) 
관련 문제