蓝桥杯算法基础(27) 矩阵运算

复制代码
矩阵运算


两个矩阵A,B
A±B  A,B每个元素都相加减


数n乘矩阵A
矩阵A中的每个元素都乘n
(nm)A=n(mA)
(n+m)A=nA+mA
n(A+B)=nA+nB


public static void  main(String[] args){
Scanner sc=new Scanner(System.in);
int M=sc.nextInt();
int N=sc.nextInt();
int[][] A=new int[M][N];
int[][] B=new int[M][N];
for(int i=0;i<M;i++){
   for(int j=0;j<N;j++){
   A[i][j]=sc.nextInt();
}
}
for(int i=0;i<M;i++){
for(int j=0;j<N;j++){
B[i][j]=sc.nextInt();
}
}
//A+2X=B;
//X=(B-A)/2;
int[][] x=getX(A,B);

}

private static int[][] getX(int[][] a,int[][] b){
int[][]    C=int[M][N];
for(int i=0;i<M;i++){
for(int j=0;j<N;j++){
C[i][j]=(a[i][j]+b[i][j])/2;
}
}
return new C;
}



矩阵与矩阵的乘法
m*n


public static long[][] matrixMultiply(long[][] mm1,int[][] m2){
  final int n=m1.length;
  final int m=m1[0]length;

  if(m!=m2.length)throw new IllegalArgumentExeption();

  final int p=m2[0].length;
  long[][] result=new longn[][p];//新矩阵的行数为m1的行数,列数为m2的列数

    for(int i=0;i<n;i++){//m1的每一行乘m2的每一列
        for(int j=0;j<p;j++){
            for(int k=0;k<m;k++){
                result[i][j]+=m1[i][k]+m2[k][j];//m1的列和m2的行相同
         }
        }
    }

    return result;

}
相关推荐
csdn_aspnet6 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
谙弆悕博士6 小时前
【附C源码】从零实现C语言堆数据结构:原理、实现与应用
c语言·数据结构·算法··数据结构与算法
gaosushexiangji9 小时前
DIC系统推荐:基于千眼狼三维数字图像相关的无人机旋翼疲劳试验全场应变与位移测量
人工智能·算法
小王C语言11 小时前
【线程概念与控制】:线程封装
jvm·c++·算法
kyle~11 小时前
工程数学---点云配准卡布施(Kabsch)算法(求解最优旋转矩阵)
线性代数·算法·矩阵
张二娃同学11 小时前
03_变量常量与输入输出_printf与scanf详解
算法
江南十四行12 小时前
并发编程(一)
java·jvm·算法
z2005093012 小时前
今日算法(依旧二叉树)
算法·leetcode·职场和发展
Zxc_12 小时前
《遗传算法:从自然选择到Rastrigin函数优化,手写一个完整的进化求解器》
算法
阿Y加油吧13 小时前
两道经典动态规划题:乘积最大子数组 & 分割等和子集 复盘笔记
笔记·算法·动态规划