2017-04-27 228 views
0

我们已经向我们提供了以下几组数据:代表方差的A,B,C和代表协方差的D,E, F。我想在矩阵形式来定位该组数据:矩阵形式的位置方差和协方差

matrix: Z  Y  X 
     Z A  D  F 
     Y D  B  E 
     X F  E  C 

我如何安排数据组以矩阵形式考虑到我不知道方差/ COV的数量?

然后我想生成的矩阵乘法:

matrix* (G,H,I) * (G 
        H 
        I) 

第二个问题是,我该怎么乘矩阵'尺寸3×3×1 * 3,3 * 1

+0

有什么问题吗? – Divakar

+0

对不起,刚编辑了问题 – ge00rge

+1

第二个问题就是['numpy.matmul'](https://docs.scipy.org/doc/numpy/reference/generated/numpy.matmul.html)。 – IanS

回答

1

您可以使用numpy.matrixnumpy.array创建自己的矩阵和数组,

In [1]: import numpy as np 

     matrix1 = np.matrix([[1, 4, 6], [4, 2, 5],[6, 5, 3]]) 

     array1 = np.array([7,8,9]) 

第二个问题:现在使用numpy.transpose计算二次米ATRIX在array1,

In [2]: matrix2 = array1*np.transpose([array1]) 

In [3]: matrix2 

Out[3]: array([[49, 56, 63], 
       [56, 64, 72], 
       [63, 72, 81]]) 

最后,乘两个矩阵numpy.matmul

In [4]: matrix3 = np.matmul(matrix1, matrix2) 

In [5]: matrix3 

Out[5]: matrix([[651, 744, 837], 
       [623, 712, 801], 
       [763, 872, 981]]) 
+0

非常感谢Manel,这是一个很好的解释,但是在这种情况下,我真的需要使用示例的结果 – ge00rge

+0

@ ge00rge问题是什么?协方差和差异是数值,不是吗? – manelfp

+0

是的,这是正确的,但可以说cov不是像往常一样获得,在这种情况下,首先得到结果,然后矩阵与这些结果一起构建 – ge00rge