将矩阵中的特定元素相乘

时间:2015-07-20 00:53:28

标签: java matrix multiplying

我有两个矩阵

A = {{1,2,3},
     {4,5,6},
     {7,8,9}};

B = {{1,2,3,10},
     {4,5,6,11},
     {7,8,9,12},
     {1,2,3,13}};

我希望以下列方式将它们相乘。 矩阵A中的元素{5,6},{8,9}乘以{1,2},{4,5}(来自B的元素)。我知道我可以将各个索引相乘但我怎样才能遍历它们?

我不知道如何解决这个问题。如果有人能给我一个提示,那将是一个很大的帮助。

我不是在寻找答案。关于如何使用循环完成此操作的简单逻辑就足够了。

1 个答案:

答案 0 :(得分:0)

好像你不来聊天。对不起,但我必须跑。 以下是您的问题的可能解决方案:

    int A[][] = new int[][]{{1,2,3},
                            {4,5,6},
                            {7,8,9}};
    int B[][] = new int[][]{{1,2,3,10},
                            {4,5,6,11},
                            {7,8,9,12},
                            {1,2,3,13}};

    System.out.println("====================");
    int number = 1;
    for(int rowIndex = A.length - 2; rowIndex < A.length; rowIndex++) {
        for(int colIndex = A[0].length - 2; colIndex < A[0].length; colIndex++) {
            number *= A[rowIndex][colIndex];
            System.out.print(A[rowIndex][colIndex] + "\t");
        }
        System.out.print("\n");
    }
    System.out.println("====================");     
    for(int rowIndex = 0; rowIndex < 2; rowIndex++) {
        for(int colIndex = 0; colIndex < 2; colIndex++) {
            number *= B[rowIndex][colIndex];
            System.out.print(B[rowIndex][colIndex] + "\t");
        }
        System.out.print("\n");
    }
    System.out.println("====================");
    System.out.print("ANSWER IS: " + number);

输出:

====================
5   6   
8   9   
====================
1   2   
4   5   
====================
ANSWER IS: 86400