并不是任意两个矩阵都能做加法运算,只有行数和列数都相等的两个矩阵才可以。
两个 n 行 m 列的矩阵相加,就是将同行同列的值相加,最终得到的仍是一个 n 行 m 列的矩阵。例如:
图 1 矩阵相加
解决矩阵相加问题,多数人首先想到的就是用二维数组,对应的 C 语言实现代码为:
#include <stdio.h>
#define ROW 3
#define COL 3
//计算 A+B,结果存储到 A 中
void AddSMatrix(int A[ROW][COL], int B[ROW][COL]) {
int i, j;
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
A[i][j] = A[i][j] + B[i][j];
}
}
}
//输出矩阵的值
void display(int A[ROW][COL]) {
int i, j;
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ",A[i][j]);
}
putchar('\n');
}