矩阵乘法


//矩阵乘法
//前提:前一个矩阵的行数等于后一个的列数,无论是哪一个在前面这一条都得成立才能算
//算法重点:因为计算时是用前一个矩阵的行去乘与后一个个矩阵的列,从后一个矩阵来看,运算顺序是从上往下的,所以后一个
//矩阵的行数可以决定单次运算求和的个数
public class matrix {
    public static void main(String[] args) {
        int a[][]= {{1,2,3},
                   {4,5,6}};
        int b[][]={{7,8},
                  {10,11},
                  {9,12}};
        //a.length是计算a的行数,b[0].length是计算b第一行的列数(相当于一维数组求长度)
        //c是相乘所得矩阵
        int c[][]=new int[a.length][b[0].length];
        //i控制c的行号,j控制c的列号
        for(int i=0;i<c.length;i++)
            for (int j = 0; j < c[0].length; j++)
                //上面提到了后一个矩阵的行数可以控制运算的次数在这里就用上了
                for (int n = 0; n < b.length; n++)
                    //尝试算算就知道,前一个是列数在变化,后一个是行数在变化,而且是同步的
                    //所以n的位置有所不同,每次运算都是前一个行固定,后一个列固定
                    c[i][j]+= a[i][n] * b[n][j];
      //输出c
        for(int i=0;i<a.length;i++) {
            for (int j = 0; j < b[0].length; j++)
                System.out.print(c[i][j] + " ");
            System.out.println();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值