将一对中的第二个元素分配给向量
Assign second element in a pair to a vector
我是犯了一些简单的错误还是这是一个错误?尝试将一对中的第一个和第二个元素分配给 Python Numpy 中的单独向量,但在所有情况下第二个元素都分配给两个向量。
期望的输出:sol[0]
等同于 pxvec[i]
。
srange = np.linspace(0, 0.7, 10)
pxvec = srange
pyvec = srange
pindex = 0
for i in srange:
sol=[i,i+1]
print(sol[0],sol[1])
pxvec[pindex]=sol[0]
pyvec[pindex]=sol[1]
print(pxvec[pindex],pyvec[pindex])
pindex=pindex+1
我得到的输出:
0.0 1.0
1.0 1.0
0.07777777777777778 1.0777777777777777
1.0777777777777777 1.0777777777777777
0.15555555555555556 1.1555555555555554
1.1555555555555554 1.1555555555555554
0.23333333333333334 1.2333333333333334
1.2333333333333334 1.2333333333333334
0.3111111111111111 1.3111111111111111
1.3111111111111111 1.3111111111111111
0.3888888888888889 1.3888888888888888
1.3888888888888888 1.3888888888888888
0.4666666666666667 1.4666666666666668
1.4666666666666668 1.4666666666666668
0.5444444444444445 1.5444444444444445
1.5444444444444445 1.5444444444444445
0.6222222222222222 1.6222222222222222
1.6222222222222222 1.6222222222222222
0.7 1.7
1.7 1.7
您需要将 pxvec
和 pyvec
分配给 srange
的副本,否则您对 pxvec
所做的每项更改也会对 pyvec
进行]和srange
(如果您想查找它,它被称为通过引用复制)
srange = np.linspace(0, 0.7, 10)
pxvec = srange.copy()
pyvec = srange.copy()
然后您可以继续使用您提供的代码
我是犯了一些简单的错误还是这是一个错误?尝试将一对中的第一个和第二个元素分配给 Python Numpy 中的单独向量,但在所有情况下第二个元素都分配给两个向量。
期望的输出:sol[0]
等同于 pxvec[i]
。
srange = np.linspace(0, 0.7, 10)
pxvec = srange
pyvec = srange
pindex = 0
for i in srange:
sol=[i,i+1]
print(sol[0],sol[1])
pxvec[pindex]=sol[0]
pyvec[pindex]=sol[1]
print(pxvec[pindex],pyvec[pindex])
pindex=pindex+1
我得到的输出:
0.0 1.0
1.0 1.0
0.07777777777777778 1.0777777777777777
1.0777777777777777 1.0777777777777777
0.15555555555555556 1.1555555555555554
1.1555555555555554 1.1555555555555554
0.23333333333333334 1.2333333333333334
1.2333333333333334 1.2333333333333334
0.3111111111111111 1.3111111111111111
1.3111111111111111 1.3111111111111111
0.3888888888888889 1.3888888888888888
1.3888888888888888 1.3888888888888888
0.4666666666666667 1.4666666666666668
1.4666666666666668 1.4666666666666668
0.5444444444444445 1.5444444444444445
1.5444444444444445 1.5444444444444445
0.6222222222222222 1.6222222222222222
1.6222222222222222 1.6222222222222222
0.7 1.7
1.7 1.7
您需要将 pxvec
和 pyvec
分配给 srange
的副本,否则您对 pxvec
所做的每项更改也会对 pyvec
进行]和srange
(如果您想查找它,它被称为通过引用复制)
srange = np.linspace(0, 0.7, 10)
pxvec = srange.copy()
pyvec = srange.copy()
然后您可以继续使用您提供的代码