You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将(2, 2, 1)维度的array转换为2*2矩阵并在Python中求逆

实现步骤

1. 依赖库导入

直接用numpy即可完成所有操作,首先导入依赖:

import numpy as np

2. 三维数组降为2*2矩阵

你拿到的(2,2,1)维度数组最后一维是长度为1的冗余维度,以下3种方法都可以实现降维,任选其一即可:

  • 方法1:用np.squeeze()自动移除所有长度为1的维度
# 先构造你给出的示例数组,实际使用时替换成你自己的数组变量即可
arr = np.array([[np.array([0.53281666]), np.array([0.51876626])], [np.array([0.53281666]), np.array([0.51876626])]])
mat_2d = np.squeeze(arr)
# 验证维度
print(mat_2d.shape) # 输出 (2, 2)
  • 方法2:用reshape直接指定目标维度
mat_2d = arr.reshape(2, 2)
  • 方法3:索引直接取最后一维的第一个元素
mat_2d = arr[..., 0]

3. 矩阵求逆

用numpy线性代数模块的inv方法即可完成求逆,注意你给出的示例矩阵两行元素完全相同,属于行列式为0的奇异矩阵,本身不存在逆矩阵,所以代码加了异常捕获:

try:
    inv_matrix = np.linalg.inv(mat_2d)
    print("逆矩阵为:\n", inv_matrix)
except np.linalg.LinAlgError:
    print("当前矩阵为奇异矩阵,无逆矩阵")

如果你的实际业务数据不是示例中的重复值场景,就可以正常得到逆矩阵结果。


内容的提问来源于stack exchange,提问作者Elaf Salah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:05