为了账号安全,请及时绑定邮箱和手机立即绑定

如何用numpy创建一个下对角矩阵?

如何用numpy创建一个下对角矩阵?

守候你守候我 2023-06-20 16:39:54
如何使用Numpy生成动态大小的下对角矩阵?例如,如果n矩阵的大小是4我想获得这样一个矩阵:| 0 0 0 0 | | 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 |
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我发现了使用np.eye 的最短方法:

import numpy as np


n = 4

np.eye(n, k=-1, dtype=int)

输出是:


array([[0, 0, 0, 0],

       [1, 0, 0, 0],

       [0, 1, 0, 0],

       [0, 0, 1, 0]])


查看完整回答
反对 回复 2023-06-20
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

你可以创建它,首先创建一个带零的矩阵,然后填充那些:


import numpy as np


# create matrix with zeros

n=4

mat = np.zeros((n,n))


# create indexes for where the 1s belong

rows = np.arange(1,n)

cols = np.arange(n-1)


# fill in the 1s

mat[rows, cols] = 1

输出:


[[0. 0. 0. 0.]

 [1. 0. 0. 0.]

 [0. 1. 0. 0.]

 [0. 0. 1. 0.]]


查看完整回答
反对 回复 2023-06-20
  • 2 回答
  • 0 关注
  • 217 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号