::[,尝试使用Python数组时出错

2024-09-28 03:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,所以如果我的格式设置不好,或者这个问题很简单,我很抱歉,但是我想弄清楚为什么我在代码的第三行(我假设是第二行)到最后一行出现索引错误。我包含这个函数只是为了上下文,所以你可以看到我调用的数组的QR函数是从中派生出来的。给出索引错误的命令在代码的第二行起作用,但不是倒数第二行。有人能解释一下为什么吗?我想这和一个新的是一个数组有关?在

也可以从一个数组中,从一个矩阵中提取什么。如果这种理解是不正确的,我也很乐意学习正确的方法。在

谢谢!在

a=np.random.random((3,3)); a
a[:,2]


###Gram-Schmidt operation for finding Q orthonormal matrix
###We begin with the reduced 3X3 case
def QR(a):  
     A0=a[:,0]; A0
     A1=a[:,1]; A1
     A2=a[:,2]; A2   

     Z0=A0
     Z1=A1-np.vdot(A1,A0)/np.vdot(A0,A0)*A0
     Z2=A2-np.vdot(A2,A0)/np.vdot(A0,A0)*A0-np.vdot(A2,Z1)/np.vdot(Z1,Z1)*Z1

     Z0norm=np.linalg.norm(Z0); Z0norm
     Z1norm=np.linalg.norm(Z1); Z1norm
     Z2norm=np.linalg.norm(Z2); Z2norm

     q0=Z0/Z0norm
     q1=Z1/Z1norm
     q2=Z2/Z2norm

     a_new=np.array([[q0],[q1],[q2]])

     return a_new

a_new=QR(a); a_new
a_new0=a_new[:,0]
a_new1=a_new[:,1]
g1=np.vdot(a_new1,a_new2); g1   

编辑:对不起!以下是错误消息:

a_new0=a_new[:,0] a_new1=a_new[:,1] Traceback (most recent call last): File "", line 1, in IndexError: index 1 is out of bounds for axis 1 with size 1


Tags: a2normnewa1错误np数组a0

热门问题