【发布时间】:2018-07-27 02:49:11
【问题描述】:
我想在我的编程中做嵌套循环。然而,这段代码并没有达到我的预期。
X=[0,1,1,1,0]
length=len(X)
for i,val in enumerate(X):
a=0
count=0
while (count<length):
a=15+a
print (a)
HWPQ=np.matrix([[1, 0, 0, 0], [0, math.cos(4*math.radians(a)),
math.sin(4*math.radians(a)), 0], [0, math.sin(4 * math.radians(a)), -
math.cos(4 * math.radians(a)), 0], [0, 0, 0, -1]])
result=HWPQ*val
print (result)
count=count +1
print ("\n")
假设,在这个程序中,我想使用循环更新每个元素的a 的值。例如:
X=0 for a=0
X=1 for a=15
X=1 for a=30
X=1 for a=45
X=0 for a=60
结果应该是,我手动计算的:
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 1. 0. 0. 0. ]
[ 0. 0.5 0.8660254 0. ]
[ 0. 0.8660254 -0.5 0. ]
[ 0. 0. 0. -1. ]]
[[ 1. 0. 0. 0. ]
[ 0. -0.5 0.8660254 0. ]
[ 0. 0.8660254 0.5 0. ]
[ 0. 0. 0. -1. ]]
[[ 1.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 -1.00000000e+00 1.22464680e-16 0.00000000e+00]
[ 0.00000000e+00 1.22464680e-16 1.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 -1.00000000e+00]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
【问题讨论】:
-
这段代码中使用了什么
X?好像没用?a只是一个算术级数,忽略X的任何值 -
最后一个正确吗?您将矩阵乘以
val,即 0,因此整个矩阵将为0s。 -
@我惊动了外星人。你是对的。我已经更新了最后的输出。
-
@atline。
X的值表示为位 0 或 1 的列表。 -
是的,我错过了,没关系。
标签: python numpy nested-loops