gpt4 book ai didi

python - 使用 Python 基于不同列表构建矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:35 25 4
gpt4 key购买 nike

我将制作以下矩阵:

 s= [[s11 s12 s13]
[s21 s22 s23]
[s31 s32 s33]]

我可以通过以下方式获取矩阵 s 的每个数组:

 sii = a(i)  ;  for s11, s22, and s33

sij = a(i)**2 + 10 ; for s12=s21, s23=s32, and s13=s31

这里,ai 是数据列表:

 a = [0.1, 0.25, 0.12]

所以当我使用以下内容时:

import numpy as np 

s = np.ones([3,3])

def matrix(s):
a = [0.1, 0.25, 0.12]
s[np.diag_indices_from(s)] = ai
s[~np.eye(s.shape[0],dtype=bool)] = ai**2 + 10

它给了我一个错误。我怎么解决这个问题?谢谢。

最佳答案

这里提示您如何操作对角线和非对角线值。

import numpy as np

s = np.ones([3,3])

def matrix(s):
a = [1,2,3]
for i in range(len(a)):
s[i,i] = a[i] # sii = a(i)
rc = (i + 1) % len(a)
val = a[i] ** 2 + 10
s[i, rc] = val # sij = a(i)**2 + 10
s[rc, i] = val # sij = a(i)**2 + 10
return s

print(matrix(s))

输入:

[[ 1.  1.  1.]
[ 1. 1. 1.]
[ 1. 1. 1.]]

输出:

[[  1.  11.   19.]
[ 11. 2. 14.]
[ 19. 14. 3.]]

关于python - 使用 Python 基于不同列表构建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46978585/

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