定义一个二维数组,从键盘输入两个矩阵,求两个矩阵的加法、减法、乘积,并输出到屏幕
时间: 2024-10-11 20:16:26 浏览: 37
matlab中数组和矩阵的区别
在许多编程语言中,特别是像Python或Java这样的动态类型语言中,你可以定义一个二维数组(也称为矩阵)来表示数学中的矩阵操作。这里是一个简单的例子,我们将使用Python来演示如何定义矩阵并进行加法、减法和乘法:
```python
def create_matrix(rows, cols):
matrix = []
for i in range(rows):
row = list(map(int, input(f"请输入第{i+1}行的 {cols} 个元素,用逗号分隔: ").split(',')))
matrix.append(row)
return matrix
# 获取用户输入的矩阵尺寸
rows = int(input("请输入矩阵的第一维(行数): "))
cols = int(input("请输入矩阵的第二维(列数): "))
# 创建矩阵
matrix1 = create_matrix(rows, cols)
matrix2 = create_matrix(rows, cols)
# 打印矩阵
print("矩阵1:")
for row in matrix1:
print(row)
print("\n矩阵2:")
for row in matrix2:
print(row)
# 矩阵加法
addition_result = [row1 + row2 for row1, row2 in zip(matrix1, matrix2)]
print("\n矩阵加法结果:")
for row in addition_result:
print(row)
# 矩阵减法
subtraction_result = [row1 - row2 for row1, row2 in zip(matrix1, matrix2)]
print("\n矩阵减法结果:")
for row in subtraction_result:
print(row)
# 如果两个矩阵可以相乘,那么它们必须有相同的列数(矩阵1的行数等于矩阵2的列数)
if rows == matrix2[0].count:
# 矩阵乘法
multiplication_result = [[sum(cell_item * cell_j for cell_item, cell_j in zip(row1, col)) for col in zip(*matrix2)] for row1 in matrix1]
print("\n矩阵乘法结果:")
for row in multiplication_result:
print(row)
else:
print("矩阵无法相乘,因为它们的维度不匹配。")
阅读全文