Python,数组数组的所有组合

时间:2017-07-07 19:40:16

标签: python arrays numpy

我的代码需要帮助。我正在做小代码来产生合成地震加速度。而且由于代码/我的低效率,我很少陷入困境。我有矩阵 aaa ,但事实上它是向量的向量。每行对应于特定的特征值。排在时间的历史。在我的例子中,我有4个特征值= 4行,时间分为7个部分。由于 aaa.shape =(4L,7L)

aaa=array([
[1.90e-17,  -1.58e-02,   8.64e-03,   2.35e-02,   8.64e-03,  -1.58e-02,  -7.07e-18],
[-1.70e-05,  -9.20e-03,   6.13e-02,  -2.53e-08,  -6.13e-02,   9.20e-03,   1.70e-05],
[-1.52e-16,  -4.13e-02,  -5.48e-02,   1.23e-01,  -5.48e-02,  -4.13e-02,   7.26e-17],
[-2.05e-07,  -1.37e-01,   9.93e-02,  -1.22e-12,  -9.93e-02,   1.37e-01,   2.05e-07]])

我有工作代码(效率低下),很简单:

for i in xrange(0,len(aaa)):
    for j in xrange(0,len(aaa)):
        fiMN2[j,i]=np.dot(aaa[i],aaa[j])`

    fiMN2
    array([[  4.8234e-03,  -4.3786e-09,   1.3096e-02,  -7.2303e-15],
           [ -4.3786e-09,   3.0817e-02,  -1.4847e-08,   5.8952e-02],
           [  1.3096e-02,  -1.4847e-08,   9.8940e-02,  -9.9190e-13],
           [ -7.2303e-15,   5.8952e-02,  -9.9190e-13,   2.3102e-01]])

但是我想使用1000s特征值和大约10000次步长,因为for循环使我的代码无用。拜托,你能帮我找一些更优雅的东西吗?我正在尝试实施numpy.outernumpy.meshgrid,但没有成功。我很少舍入 aaa fiMN2 的值,因为它不适合窗口。谢谢,BR,Igor

0 个答案:

没有答案