使用 python 在每次迭代中更新值
Updating value at each iteration using python
我想在每次迭代时获得 Pw 的更新值。对于第一次迭代,它取第一行的最小值并从 Pw1 中减去。对于第二次迭代,我希望它采用更新后的 Pw(不是 Pw1)并减去第二行的最小值。
import numpy as np
Pe=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
Pw1=100
Pe_min=Pe.min(axis=1)
for i in range(4):
Pw=np.zeros(4)
Pw[i]=Pw1-Pe_min[i]
print(Pw)
当前输出为
99
95
91
87
我要的输出是
99
94
85
72
基本上,
您应该在每次迭代中更新 Pw1 值。所以你可以添加
Pw1-=Pe_min[i]
完整代码;
import numpy as np
Pe=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
Pw1=100
Pe_min=Pe.min(axis=1)
for i in range(4):
Pw=np.zeros(4)
Pw[i]=Pw1-Pe_min[i]
Pw1-=Pe_min[i]
print(Pw)
我想在每次迭代时获得 Pw 的更新值。对于第一次迭代,它取第一行的最小值并从 Pw1 中减去。对于第二次迭代,我希望它采用更新后的 Pw(不是 Pw1)并减去第二行的最小值。
import numpy as np
Pe=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
Pw1=100
Pe_min=Pe.min(axis=1)
for i in range(4):
Pw=np.zeros(4)
Pw[i]=Pw1-Pe_min[i]
print(Pw)
当前输出为
99
95
91
87
我要的输出是
99
94
85
72
基本上, 您应该在每次迭代中更新 Pw1 值。所以你可以添加
Pw1-=Pe_min[i]
完整代码;
import numpy as np
Pe=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
Pw1=100
Pe_min=Pe.min(axis=1)
for i in range(4):
Pw=np.zeros(4)
Pw[i]=Pw1-Pe_min[i]
Pw1-=Pe_min[i]
print(Pw)