我必须使用scipy代码coo_matrix创建一个matix,它应该具有34 * 34的大小,之后我应该使用每个float元素进行计算。
K =coo_matrix((keelement,(iK,jK)),shape=(Nnodes*ndofs,Nnodes*ndofs)).todense()
但是当我尝试使用K [i] [j]时会发生索引错误。我用打印检查了矩阵,发现它不是34 * 34阵列而是34 * 1,因为每行都完全绑定到一个列表中。
[[ 46827079.33815667 -10240619.007235 -40000000. ..., 0.
0. 0. ]
[-10240619.007235 42027595.17751917 0. ..., 0.
0. 0. ]
[-40000000. 0. 86827079.33815667 ..., 0.
0. 0. ]
...,
[ 0. 0. 0. ...,
42027595.17751917 0. 0. ]
[ 0. 0. 0. ..., 0.
46827079.33815667 -10240619.007235 ]
[ 0. 0. 0. ..., 0.
-10240619.007235 42027595.17751917]]
正如您所看到的,我无法单独使用这些数字,因为整个行排除了这些数字。被认为只是一个元素,好像它是一个字符串列表。我无法理解它为什么会发生,因为我有另一个代码使用由coo_matrix制作的相同矩阵,并且该代码工作得很好。
请让我知道我失踪了什么,或者我要搜索什么。