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

使用Numpy实现5x5矩阵转置且对3的倍数元素执行特殊计算的方法

5×5矩阵处理实现方案

核心逻辑说明

需要的核心修改点是:获取转置后矩阵中3的倍数元素的行、列索引,按公式计算后直接替换对应位置的值,同时修正原代码中随机数可能重复的问题。

完整可运行代码

import numpy as np

# 生成1-100范围内25个不重复的随机数组成5x5矩阵
M = np.random.choice(np.arange(1, 101), size=25, replace=False).reshape(5, 5)
print("原始5×5矩阵:")
print(M)

# 执行矩阵转置
M_trans = np.transpose(M)
print("\n转置后矩阵:")
print(M_trans)

# 查找转置后矩阵中所有是3的倍数的元素的行索引、列索引
row_idx, col_idx = np.where(M_trans % 3 == 0)
# 按公式 (3*j + i)**2 批量替换,i为行索引row_idx,j为列索引col_idx
M_trans[row_idx, col_idx] = (3 * col_idx + row_idx) ** 2

print("\n最终处理后矩阵:")
print(M_trans)

关键步骤解释

  • 随机矩阵生成:使用np.random.choice并设置replace=False,保证生成的25个数值完全不重复,符合题目要求
  • 索引获取:通过np.where直接批量获取所有符合条件元素的行(i)、列(j)索引,不需要遍历整个矩阵,效率更高
  • 批量赋值:利用numpy的广播特性,直接对所有符合条件的位置执行公式计算并赋值,写法简洁

内容的提问来源于stack exchange,提问作者Jose Antonio Piedehierro Arias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:06:09