【问题标题】:Python - How to make a matrix using sub-matrix?Python - 如何使用子矩阵制作矩阵?
【发布时间】:2020-07-30 16:07:21
【问题描述】:

假设我们有一个包含 100 个元素的数组。我们想把它变成一个 2x2 矩阵,每个子矩阵本身就是一个 5x5 矩阵。我已经写到这个级别了:

import numpy as np

M = np.linspace(1,100,100)

MUL = M[0:25].reshape([5,5])
MUR = M[25:50].reshape([5,5])
MLL = M[50:75].reshape([5,5])
MLR = M[75:101].reshape([5,5])

现在我有我的 5x5 子矩阵,如何将它们变成 2x2 矩阵?

提前致谢^^

【问题讨论】:

  • Reshape to (2,2,5,5) 可行,但您可能需要转置一些轴以使元素顺序正确。一般的方法是重新整形为足够小的块,转置以重新排序,如果需要重新整形回最终形状。

标签: python arrays numpy matrix submatrix


【解决方案1】:

这适用于这种特定情况。

M.reshape(2,2,5,5)

如果您想更好地控制数据的顺序,您可以手动构建一个新数组。

A = np.zeros((2,2,5,5))
A[0,0,:,:] = MUL
A[0,1,:,:] = MUR
A[1,0,:,:] = MLL
A[1,1,:,:] = MLR

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2016-10-09
    • 2015-05-17
    • 2013-10-05
    • 2014-03-13
    相关资源
    最近更新 更多