gpt4 book ai didi

生成主对角线上方为 1 的对角矩阵的 Python 代码

转载 作者:太空狗 更新时间:2023-10-30 01:46:16 31 4
gpt4 key购买 nike

我想编写一个 python 函数,它生成一个大小为 n × n 的零矩阵,主对角线上方的所有元素都为 1。

这是我的代码:

def funtest(n):
for i in range(0,n-2):
s = (n,n)
Y = zeros(s)
Z = Y
Z[i,i+1]=1
return Z

但结果只给出矩阵的第(n-1, n-2)个元素中的1。

我被卡住了,我真的认为我的代码是正确的,但不知道错误在哪里。我该如何解决?有人可以帮忙吗?

谢谢。

最佳答案

numpy.diag 函数可以做到这一点:

import numpy as np
print( np.diag(np.ones(4), 1) )

第二个参数(1)是对角线的偏移量。它给出:

array([[ 0.,  1.,  0.,  0.,  0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 0.]])

关于生成主对角线上方为 1 的对角矩阵的 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36247638/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com