我是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
目前没有回答
相关问题 更多 >
编程相关推荐