python - 如何获得只有上对角线元素的零矩阵?(上对角线元素已知)
问题描述
我有一个给定的行矩阵,我希望它是我的零矩阵上对角线的元素
如果我有一个矩阵a = [1,2,3]
,那么我希望我的输出为
[[0 1 0 0]
[0 0 2 0]
[0 0 0 3]
[0 0 0 0]]
我的原始代码是
import numpy as np
N=5
a0=2*np.ones((1,N))
a1=-1*np.ones((1,(N-1)))
A0=np.diag(a0,0)
A1=np.diag(a1,1)
A2=np.diag(a1,-1)
当我需要完整的矩阵时,A1 的输出仅为 [-1],其中元素 a1 在上对角线上
解决方案
您可以使用np.diag
偏移量:
a=np.array([1,2,3])
np.diag(a, 1)
array([[0, 1, 0, 0],
[0, 0, 2, 0],
[0, 0, 0, 3],
[0, 0, 0, 0]])
推荐阅读
- javascript - 在模板页面中显示 ajax 数据 - Framework7
- javascript - 地理位置 - 在地图上显示账户的距离
- colors - Holoviews:具有相同颜色和缩放比例的单独图形
- python - 向 AWS rekognition 发送多个帧
- c# - 在资源管理器中右键单击将目录附加到exe
- go - travis 找不到我的包 golang
- javascript - await page.$$('.')).length 的值不正确
- sql-server - 将 varchar 值 \'08/01/1979\' 转换为数据类型 int 时转换失败
- nasm - NASM 逐字符读取文件
- apache-spark - 找不到关闭 Java Spark 会话的正确方法(使用 spark 版本 2.2.1)