저는 대개 거대한 시뮬레이션을합니다. 때로는 입자 집합의 질량 중심을 계산해야합니다. 나는 많은 경우에 numpy.mean()에 의해 반환 된 평균값이 잘못되었음을 지적했다. 나는 그것이 누산기의 포화로 인한 것임을 알 수있다. 문제를 피하기 위해 작은 입자 세트의 모든 입자에 대해 합계를 나눌 수 있지만 불편합니다. 누구든지이 문제를 어떻게 우아하게 해결할 것인가? 당신은 최대 및 최소 값을 확인하면, 당신이 얻을numpy 평균값이 잘못 되었습니까?
import numpy as np
a = np.ones((1024,1024), dtype=np.float32)*30504.00005
:
a.max()
30504.0
a.min()
30504.0
그냥 호기심을 piking를 들어, 다음의 예는 내 시뮬레이션에서 관찰 것과 비슷한 생산
그러나, 평균 값은 다음과 같습니다
a.mean()
30687.236328125
당신은 뭔가 잘못된 것을 알아낼 수 이리. 이것은 dtype = np.float64를 사용할 때 발생하지 않으므로 단 정밀도 문제를 해결하는 것이 좋습니다.
이러한 답변 중 하나라도 문제가 해결되면이를 수락해야합니다. – tacaswell