矩阵 -> 块划分
Matrix -> blocks division
我想将一些矩阵加载到我的程序中,然后我想将它分成更小的块。
我想要的完全可以在下面的图片中看到:
http://postimg.org/image/aki19hjx9/ba463111/
红色方块中是我的 "blocks" 的 3 个示例,我想在其中划分整个矩阵。在这种情况下,每个块应该是(较小的)3x3 矩阵。我知道如何将它加载到二维数组中,但我应该怎么做?
int[][] bigMatrix = new int[9][9];
// initialize bigMatrix
int[][][] smallMatrices = new int[3][3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
smallMatrices[i][j][k] = bigMatrix[3*i+j][3*i+k];
}
}
}
// The submatrices are now in smallMatrices[i], 0 <= i < 3
我想将一些矩阵加载到我的程序中,然后我想将它分成更小的块。 我想要的完全可以在下面的图片中看到:
http://postimg.org/image/aki19hjx9/ba463111/
红色方块中是我的 "blocks" 的 3 个示例,我想在其中划分整个矩阵。在这种情况下,每个块应该是(较小的)3x3 矩阵。我知道如何将它加载到二维数组中,但我应该怎么做?
int[][] bigMatrix = new int[9][9];
// initialize bigMatrix
int[][][] smallMatrices = new int[3][3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
smallMatrices[i][j][k] = bigMatrix[3*i+j][3*i+k];
}
}
}
// The submatrices are now in smallMatrices[i], 0 <= i < 3