对于粒子系统,我有大量的x,y,z坐标和摩尔质量数据。我想使用该系统并从中获得重心,但是我似乎找不到任何现有功能。希望不要重新发明轮子,因为它似乎可能存在,我想在这里问一下。否则,一个聪明的方法将不会花费大量的计算时间,因为我将需要在大约23个粒子的系统上进行大约3000万次的计算。
当前所有数据都在数组中,格式为[x,y,z,m],其中m为质量。
import numpy
from scipy import ndimage
a = numpy.array(([0.5,1.0,-1.0,0.5],[1.0,1.0,1.0,1.0],[-1.0,1.0,0,1.0],[-1.5,1.5,0.5,0.5]))
有一个示例数据集,如果我使用scipy重心函数,则会吐出一个元组:
ndimage.measurements.center_of_mass(a)
Out[4]: (1.2857142857142858, 2.0714285714285716)
我对元组的含义不知所措,关于它的scipy文档对我来说是可怕的不清楚,太多了。我本来希望有三个值的元组,因为我给它提供了三维数据,我假设它只是不理解。在第一个示例中给它一个0,0,0,0向量作为第一个值并没有帮助,它只是更改了两个数字的值。任何帮助将不胜感激,谢谢!