如何使用算法从矩阵中选择列

2024-05-20 21:37:28 发布

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

我正在用python编写一个用户定义的函数,以便有效地从矩阵中提取特定的列块。你知道吗

我的矩阵是48乘16240。数据按某种模式按列组织。
我的目标是把它做成4个矩阵。通过选择前70列、跳过下210列、选择下70列、跳过下210列来提取第一个矩阵,直到矩阵结束。你知道吗

通过选择第二个70列、跳过下一个210列、选择下一个70列、跳过下一个210列来提取第二个矩阵,直到矩阵结束。你知道吗

以与上述相同的方式,通过分别选择第三和第四70列来提取第三和第四矩阵。你知道吗

可以观察到,16240可以除以70。你知道吗

有没有办法有效地做到这一点?你知道吗


Tags: 数据函数用户目标定义方式模式矩阵
2条回答

列索引i应满足0 =< i modulo (210+70) <= 70-1

下面是我如何循环遍历您要处理的每个列索引:

public static void main(String... args) {
    int blocks = 16240 / 280;
    // process each 280 column block...
    for (int i = 0 ; i < blocks ; i++) {
        // process the first 70 columns of the block
        for (int j = 0 ; j < 70 ; j++) {

            // Compute the column index
            int s = i * 280 + j;

            // Process the column with index 's' here
            System.out.println(s);
        }
    }
}

结果列索引摘要:

0
1
2
...
67
68
69
280
281
282
283
...
348
349
560
561
562
...
627
628
629
840
841
842
...
...
15748
15749
15960
15961
15962
...
16028
16029

单身。。。是连续的数字。加倍。。。是整数输出中间部分的省略。你知道吗

相关问题 更多 >