随机创建两个数组A和B,其中A数组的取值范围为[0,3]之间的整数,形状为3行2列,B数组的取值范围为[1,4]之间的整数,形状为2行3列。 1. 将矩阵B的每个元素减去1; 2. 使用三种方式获得矩阵相乘的结果,使得结果的形状为2行2列。格式化输出三种运算结果是否相等的结果; 3. 格式化输出结果2矩阵中的每一列的最大值和按列执行加法后的结果。
时间: 2023-05-27 15:02:58 浏览: 45
import numpy as np
# 创建数组A和B
A = np.random.randint(low=0, high=4, size=(3, 2))
B = np.random.randint(low=1, high=5, size=(2, 3))
# 将矩阵B的每个元素减去1
B -= 1
# 使用三种方式获得矩阵相乘的结果,使得结果的形状为2行2列
result1 = np.matmul(A, B) # 使用matmul函数
result2 = A @ B # 使用@符号
result3 = np.dot(A, B) # 使用dot函数
# 格式化输出三种运算结果是否相等的结果
print(f"result1与result2是否相等:{np.array_equal(result1, result2)}")
print(f"result1与result3是否相等:{np.array_equal(result1, result3)}")
print(f"result2与result3是否相等:{np.array_equal(result2, result3)}")
# 格式化输出结果2矩阵中的每一列的最大值和按列执行加法后的结果
print(f"result2矩阵每一列的最大值为:{np.max(result2, axis=0)}")
print(f"result2矩阵按列执行加法后的结果为:{np.sum(result2, axis=0)}")
相关问题
创建一个大小为4×4的随机整数二维数组,取值范围在1-10之间
好的,以下是创建随机整数二维数组的 Python 代码:
```python
import random
# 创建空的4x4的二维数组
arr = [[0 for j in range(4)] for i in range(4)]
# 遍历二维数组,随机赋值
for i in range(4):
for j in range(4):
arr[i][j] = random.randint(1, 10)
# 输出二维数组
for i in range(4):
for j in range(4):
print(arr[i][j], end=' ')
print()
```
运行结果可能如下所示:
```
5 6 8 1
10 1 4 7
9 7 2 4
6 9 7 8
```
创建一个大小为4×4的随机整数二维数组,取值范围在1-10之间,打印矩阵和转置矩阵
以下是 Python 代码实现:
```python
import random
# 创建4x4的随机整数二维数组
matrix = [[random.randint(1, 10) for j in range(4)] for i in range(4)]
# 打印矩阵
print("原始矩阵:")
for i in range(4):
for j in range(4):
print(matrix[i][j], end="\t")
print()
# 转置矩阵
transpose = [[matrix[j][i] for j in range(4)] for i in range(4)]
# 打印转置矩阵
print("\n转置矩阵:")
for i in range(4):
for j in range(4):
print(transpose[i][j], end="\t")
print()
```
输出结果:
```
原始矩阵:
2 8 3 7
3 7 10 8
9 9 9 6
1 1 3 2
转置矩阵:
2 3 9 1
8 7 9 1
3 10 9 3
7 8 6 2
```