我想在一个范围内生成八个随机数(0到pi/8),将它们加在一起,取这个和的正弦值,然后这样做N次,得到平均结果.在缩放之后,我得到了正确的答案,但它太慢了N > 10^6,特别是当我平均n_t = 25多次N 次试验时!我目前得到这个代码奔波在12秒的N = 10^5,这意味着它会采取20分钟对于N = 10^7这似乎,没有最佳的(也可能是,我不知道!).
我的代码如下:
import random
import datetime
from numpy import pi
from numpy import sin
import numpy
t1 = datetime.datetime.now()
def trial(N):
total = []
uniform = numpy.random.uniform
append = total.append
for j in range(N):
sum = 0
for i in range (8):
sum+= uniform(0, pi/8)
append(sin(sum))
return total
N = 1000000
n_t = 25
total_squared = 0
ans = …Run Code Online (Sandbox Code Playgroud)