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

如何用NumPy创建对角线元素为特定值K的单位矩阵

如何用NumPy创建对角线元素为特定值K的矩阵

嘿,这事儿挺简单的!我们要做的其实是生成标量矩阵——也就是对角线全为指定值K、其余元素都是0的方阵。NumPy里有好几种直观的实现方式,我给你列两种最常用的:

方法1:借助np.eye()快速生成

np.eye(n)会直接创建一个n×n的单位矩阵(对角线为1,其余为0),我们只需要把它和K相乘,就能把对角线元素替换成K了:

import numpy as np

# 定义你需要的K值和矩阵维度n
K = 5
n = 3

# 生成目标矩阵
scalar_matrix = K * np.eye(n)
print(scalar_matrix)

输出结果会是:

[[5. 0. 0.]
 [0. 5. 0.]
 [0. 0. 5.]]

如果想要整数类型的矩阵(避免默认的浮点数),可以给np.eye()加个dtype参数:

scalar_matrix = K * np.eye(n, dtype=int)

方法2:用np.diag()构造对角线矩阵

另一种方式是直接构造一个对角线元素全为K的数组,再用np.diag()把它转成矩阵:

import numpy as np

K = 5
n = 3

# 先生成一个包含n个K的数组,再转成对角线矩阵
scalar_matrix = np.diag([K] * n)
print(scalar_matrix)

这个方法的输出和上面完全一样,好处是如果你后续需要调整部分对角线元素,直接修改数组就行,灵活性更强。同样,要整数类型的话也可以加dtype=int:

scalar_matrix = np.diag([K] * n, dtype=int)

两种方法都能完美满足你的需求,选哪个看你个人习惯就好~

内容的提问来源于stack exchange,提问作者Abdul-Razak Adam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:29:40