A、B矩阵不是随机的,需要自己输入情况下的代码
时间: 2024-03-14 16:43:12 浏览: 14
以下是一个自己输入情况下的 Python 代码示例:
```python
import numpy as np
# 输入矩阵 A 和 B,大小为 m 行 n 列
m, n = 3, 4
A = np.array([[2, 3, 4, 5], [9, 8, 7, 6], [1, 2, 3, 4]])
B = np.array([[10, 12, 8, 15], [5, 3, 7, 1], [2, 4, 6, 8]])
# 对矩阵 A 进行归一化处理,正向指标越大越好,使用最大值归一化
max_values = np.max(A, axis=0)
A_norm = A / max_values
# 对矩阵 B 进行归一化处理,负向指标越小越好,使用最小值归一化
min_values = np.min(B, axis=0)
B_norm = min_values / B
# 将矩阵 A、B 中的所有元素都大于等于 1
A_norm = A_norm + 1
B_norm = B_norm + 1
# 将矩阵 A、B 转化为相同阶数的方阵,大小为 m x m
A_square = np.zeros((m, m))
B_square = np.zeros((m, m))
for i in range(m):
for j in range(m):
if i < n and j < n:
A_square[i][j] = A_norm[i][j]
B_square[i][j] = B_norm[i][j]
elif i == j:
A_square[i][j] = 1
B_square[i][j] = 1
# 计算矩阵 A 和 B 相互作用的增长值,避免分母为零的情况下加上一个小的数值
eps = 1e-6
C = np.dot(A_square, B_square)
D = np.dot(B_square, A_square)
growth = (C - D) / (D + eps)
# 打印结果
print("矩阵 A:\n", A)
print("矩阵 B:\n", B)
print("归一化后的矩阵 A:\n", A_norm)
print("归一化后的矩阵 B:\n", B_norm)
print("转化为方阵后的矩阵 A:\n", A_square)
print("转化为方阵后的矩阵 B:\n", B_square)
print("矩阵 A 和 B 相互作用的增长值:\n", growth)
```
以上代码中,我们手动输入了矩阵 A 和 B 的值,并对其进行了归一化、转化为方阵等操作,最后计算出了矩阵 A 和 B 相互作用的增长值。