输入两个 𝑛 n 行 𝑚 m 列的矩阵 𝐴 A 和 𝐵 B,输出它们的和 𝐴 + 𝐵 A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。python
时间: 2024-09-20 13:17:57 浏览: 23
在Python中,如果你有一个二维列表表示矩阵,你可以通过遍历矩阵的每个元素并简单地将它们相加来计算两个矩阵的和。这里是一个简单的函数示例:
```python
def matrix_addition(A, B):
# 确保矩阵A和B有相同的行数和列数
assert len(A) == len(B), "Matrices must have the same number of rows."
assert all(len(row) == len(B[0]) for row in A), "Matrices must have the same number of columns."
# 初始化一个新的矩阵,用于存储结果
result = [[0] * len(B[0]) for _ in range(len(A))]
# 对应元素相加
for i in range(len(A)):
for j in range(len(A[0])):
result[i][j] = A[i][j] + B[i][j]
return result
# 示例:
# A = [[1, 2], [3, 4]]
# B = [[5, 6], [7, 8]]
# C = matrix_addition(A, B)
# 输出将是:[[6, 8], [10, 12]]
```
这个函数首先检查输入矩阵是否具有相同的维度,然后逐个计算每个元素的和,并将其存储在新的`result`矩阵中。
相关问题
输入两个3行2列的数组a和b,实现矩阵的加法,结果存于数组c中,并输出数组c。
以下是Python的实现代码:
```python
a = [[1,2], [3,4], [5,6]]
b = [[7,8], [9,10], [11,12]]
# 初始化结果数组c
c = [[0,0], [0,0], [0,0]]
# 矩阵加法
for i in range(3):
for j in range(2):
c[i][j] = a[i][j] + b[i][j]
# 输出结果数组c
for row in c:
print(row)
```
输出结果为:
```
[8, 10]
[12, 14]
[16, 18]
```
其中,数组a和b代表两个3行2列的矩阵,数组c代表结果矩阵。在初始化结果数组c后,使用两层循环遍历a和b矩阵中每一个元素,将其对应位置相加并存入结果数组c中。最后再遍历结果数组c并输出即可。
c语言输入两个3行2列的数组a和b,实现矩阵的加法,结果存于数组c中,并输出数组c。
以下是实现矩阵加法的 C 语言代码:
```c
#include <stdio.h>
int main() {
int a[3][2], b[3][2], c[3][2];
int i, j;
printf("输入第一个矩阵 a:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
scanf("%d", &a[i][j]);
}
}
printf("输入第二个矩阵 b:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
scanf("%d", &b[i][j]);
}
}
printf("计算矩阵 c:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
c[i][j] = a[i][j] + b[i][j];
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
此程序首先定义了三个二维数组 a、b 和 c,用于存储输入的两个矩阵和计算后的结果矩阵。然后使用两个 for 循环分别读取输入的两个矩阵 a 和 b。接着使用另外一个 for 循环计算矩阵 c,并输出结果。最后返回 0 表示程序运行成功。