일부 통합을위한 코드를 작성 중입니다. 그러나 나는 어떤 시점 (마지막 두 줄)에 머물러있다. 그것은 인덱스 오류 : 색인 밖으로 경계 말합니다. 내가 뭘하고 싶은지는 - r이 값을 가질 때마다 1의 증가분으로 비어있는 해당 인덱스에 기록해야하므로 값을 추적 할 수 있습니다. 어떤 도움을 주시면 감사하겠습니다. 여기서, 코드 -파이썬 배열 인덱싱
from pylab import*
from math import*
dx = 981
dy = 1043
bx = 534.4
by = 109.5
index = zeros(shape=(1,dx+dy))
r=0
r_max=0
for i in xrange(1,dy+1):
for j in xrange (1,dx+1):
if i-by > 0:
theta = 180*atan(abs(j-bx)/(i-by))/pi
if theta<10:
r = round(sqrt((j-bx)**2+(i-by)**2))
if r>0:
index[r]+=1
그냥 일반적인 팁 : 당신은 (일반적으로) foo는 수입 *'에서'사용하지 말아야합니다. 'foo'를 import 한 다음'foo.bar()'를 호출하는 것이 더 낫습니다. 예를 들어, 나는'zero '에 의해 버려졌다. 당신은 말할 수 없습니다. import pylab을 실행하고'pylab.zeros()'를 호출하면 일어나는 일을 이해하는 것이 훨씬 쉬워진다. –
TimPietzcker는 절대적으로 옳습니다. NumPy를 numP.zeros로 추가하면이 코드가 이상한 동작을 만들기 시작할 것입니다. –
은 다음 번에이를 염두에 둡니다. – user2095624