标量变量错误索引是什么意思?蟒蛇

发布于 2021-01-29 16:12:09

import numpy as np

with open('matrix.txt', 'r') as f:
    x = []
    for line in f:
        x.append(map(int, line.split()))
f.close()

a = array(x)

l, v = eig(a)

exponent = array(exp(l))

L = identity(len(l))

for i in xrange(len(l)):
    L[i][i] = exponent[0][i]

print L
  1. 我的代码打开了一个包含矩阵的文本文件:
    1 2
    3 4
    并将其x作为整数放置在列表中。

  2. x然后将列表转换为数组a

  3. 的特征值a位于中l,特征向量位于中v

  4. 然后,我想取exp(a)并将其放置在另一个array中exponent

  5. 然后,我创建一个L任意长度的单位矩阵l

  6. 我的for循环应该采用的值exponent并替换单位矩阵对角线上的1,但我收到一条错误消息:

invalid index to scalar variable

我的代码有什么问题?

关注者
0
被浏览
151
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    exponent是一维数组。这意味着它exponent[0]是一个标量,并exponent[0][i]试图像访问数组一样对其进行访问。

    您的意思是说:

    L = identity(len(l))
    for i in xrange(len(l)):
        L[i][i] = exponent[i]
    

    甚至

    L = diag(exponent)
    



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看