我遇到以下问题。认为差异小于0.0001,病情并不令人满意。我遇到了abs(beta - beta1).any()
的问题。python中的条件不满意
alpha = -29.18835001947976
prev_alpha = -29.188337321421681
beta = np.matrix([[-0.26220145],[ 8.37991712]])
beta1 = np.matrix([[-0.26220149],[ 8.37991514]])
print(alpha - prev_alpha)
print (beta - beta1)
epsilon = 0.0001
if ((abs(alpha - prev_alpha) <= epsilon) & (abs(beta - beta1).any() <= epsilon)):
print 'x'
print (-1.26980580788e-05 <= 0.001)
True
print (abs(beta - beta1).all() <0.001)
False
由于条件不满足,条件不起作用。我想知道做什么可以做'x'印刷。如果矩阵中的所有值都与前一个值几乎相同,我想进入条件。如果相同,则需要打印'x'。我以0.0001作为条件来确定它几乎相同。任何人都可以帮助我解决这个问题。
更新:
print (any(beta - beta1) <0.001)
False
print(alpha - prev_alpha)
print (beta - beta1)
-1.26980580788e-05
[[ 4.00000000e-08]
[ 1.98000000e-06]]
这个条件是否满足? '(abs(alpha - prev_alpha)<= epsilon)' –
是的,这就是为什么我保持条件检查。它是真实的 – haimen
您是否有意使用'&'运算符而不是''和'运算符? – mgilson