我正在编写一个函数,该函数包含多个碰撞和两个粒子速度样本:应该捕获一对粒子(每个样本一个),计算每个粒子的动能,找出两者之间的差能量(绝对值),然后将差值的一半加到较低能量的粒子上,再从较高能量的粒子中减去一半,使它们完全相同,然后计算碰撞粒子的速度也应该相同。出于某种原因,以两次碰撞运行程序,第一对产生的能量不匹配,而第二对产生两个能量。我不明白为什么!任何帮助表示赞赏!
key_buffer_size = 64M
max_allowed_packet = 64M
thread_stack = 16M
thread_cache_size = 16
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_open_cache = 64
#thread_concurrency = 10
答案 0 :(得分:0)
我想这就是您要寻找的。更改以下部分:
level = compress(level,'()');
name = compress(name,'()');
收件人:
if diff[i] >= 0:
finalen1 = en1[i] - halfen
finalen2 = en2[i] + halfen
else:
finalen1 = en1[i] + halfen
finalen2 = en2[i] - halfen
finalsp1 = np.sqrt((2*finalen1)/m)
finalsp2 = np.sqrt((2*finalen2)/m)
return finalsp1, finalsp2
在上述情况下,缺少“ for”循环,这意味着“ i”位于上一次迭代的第n列编号。