要重塑的阵列

2024-06-16 11:48:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个大数组:

A =
   [ array([[ 0.      ,  0.        ,  0.       ],
           [ 1.       ,  0.        ,  0.       ],
           [-1.       ,  0.        ,  0.       ],
           [-0.5      ,  0.8660254 ,  0.       ],
           [ 0.5      , -0.8660254 ,  0.       ],
           [ 0.       ,  0.        ,  1.55     ],
           [ 0.       ,  0.        , -1.55     ]])
     array([[ 2.      ,  0.        ,  0.       ],
            [-2.      ,  0.        ,  0.       ],
            [-1.      ,  1.73205081,  0.       ],
            [ 1.      , -1.73205081,  0.       ],
            [ 0.      ,  0.        ,  3.1      ],
            [ 0.      ,  0.        , -3.1      ]])]

我想把它变成一个大矩阵,比如:

B = [ [0.    0.         0.   ]
      [1.    0.         0.   ]
      [-1.   0.         0.   ]
      [-0.5  0.8660254  0.   ]
      [0.5  -0.8660254  0.   ]
      [0.    0.         1.55 ]
      [0.    0.        -1.55 ]
      [2.    0.          0.  ]
      [-2.   0.          0.  ]
      [-1.   1.73205081  0.  ]
      [1.   -1.73205081  0.  ]
      [0.    0.          3.1 ]
      [0.    0.         -3.1 ]]

我该怎么做?你能帮帮我吗?谢谢你的预付款!!!你知道吗


Tags: 矩阵数组array预付款帮帮我
2条回答

使用^{}。你知道吗

A定义为

A =  [np.array([[ 0.      ,  0.        ,  0.       ],
       [ 1.       ,  0.        ,  0.       ],
       [-1.       ,  0.        ,  0.       ],
       [-0.5      ,  0.8660254 ,  0.       ],
       [ 0.5      , -0.8660254 ,  0.       ],
       [ 0.       ,  0.        ,  1.55     ],
       [ 0.       ,  0.        , -1.55     ]]),
     np.array([[ 2.      ,  0.        ,  0.       ],
        [-2.      ,  0.        ,  0.       ],
        [-1.      ,  1.73205081,  0.       ],
        [ 1.      , -1.73205081,  0.       ],
        [ 0.      ,  0.        ,  3.1      ],
        [ 0.      ,  0.        , -3.1      ]])]

只需使用np.concatenate(A),它将连接数组序列:

np.concatenate(A)

array([[ 0.        ,  0.        ,  0.        ],
       [ 1.        ,  0.        ,  0.        ],
       [-1.        ,  0.        ,  0.        ],
       [-0.5       ,  0.8660254 ,  0.        ],
       [ 0.5       , -0.8660254 ,  0.        ],
       [ 0.        ,  0.        ,  1.55      ],
       [ 0.        ,  0.        , -1.55      ],
       [ 2.        ,  0.        ,  0.        ],
       [-2.        ,  0.        ,  0.        ],
       [-1.        ,  1.73205081,  0.        ],
       [ 1.        , -1.73205081,  0.        ],
       [ 0.        ,  0.        ,  3.1       ],
       [ 0.        ,  0.        , -3.1       ]])

我认为array关键字是错误的。您应该简单地以列表格式声明这两个数组,然后将其连接起来。你知道吗

A1 = [[ 0.      ,  0.        ,  0.       ],
           [ 1.       ,  0.        ,  0.       ],
           [-1.       ,  0.        ,  0.       ],
           [-0.5      ,  0.8660254 ,  0.       ],
           [ 0.5      , -0.8660254 ,  0.       ],
           [ 0.       ,  0.        ,  1.55     ],
           [ 0.       ,  0.        , -1.55     ]]
A2 = [[ 2.      ,  0.        ,  0.       ],
            [-2.      ,  0.        ,  0.       ],
            [-1.      ,  1.73205081,  0.       ],
            [ 1.      , -1.73205081,  0.       ],
            [ 0.      ,  0.        ,  3.1      ],
            [ 0.      ,  0.        , -3.1      ]]

然后呢

B = A1 + A2

B将是你想要的矩阵。你知道吗

相关问题 更多 >