接受python中的矩阵

时间:2018-01-24 01:24:23

标签: python numerical

我一直收到错误

     13    for k in range(0,n-1):
     14         for i in range(k+1,n):
---> 15             if A[i,k] != 0.0:
     16                 lAm = A [i,k]/A[k,k]
     17                 A[i,k+1:n] = A[i,k+1:n] - lAm*A[k,k+1:n]
TypeError: list indices must be integers, not tuple 

这是我的代码

# [L][U] = Lr([A])
    #doolittles decomp
    n = int(raw_input("Provide n: "))
    A = [];
    for rowi in range(n):
        row_list = list(map(float, raw_input("row {}: ".format(rowi +1)).split(',')))
        A.append(row_list)
    print(A)  


    def Lr(A):
        n = len(A)
        for k in range(0,n-1):
            for i in range(k+1,n):
                if A[i,k] != 0.0:
                    lAm = A [i,k]/A[k,k]
                    A[i,k+1:n] = A[i,k+1:n] - lAm*A[k,k+1:n]
                    A[i,k] = lAm
        return A

一个引用建议我不使用raw_input而是输入,但后来我得到了类似的错误。

2 个答案:

答案 0 :(得分:0)

当论文“罪恶(5x)”时,你为什么使用sin(2*pi*t1)?当论文中写着“sin(exp(x))”时,你为什么要使用sin(2*2*pi*t2)

要向同一轴添加多个图:

ax1 = fig.add_subplot(211)
ax1.plot(x, y)
ax1.plot(x2, y2)

另外,第二个图上的y轴是错误的。

small changes to your code

答案 1 :(得分:0)

此代码有效。请注意我所做的修改,并附有注释。也许你可以找出为什么除了5乘数之外还需要除以6。

>>> import code
>>> code.interact(local=locals())