当向量上的错误率低于阈值时停止迭代

时间:2014-05-15 20:53:49

标签: python numpy

我使用迭代方法计算向量的值。在每次迭代中,向量中的值都会发生变化。经过多次迭代后,值会收敛。我不想根据迭代次数停止迭代/循环,而是希望在错误率低于特定阈值时停止。

我的矢量Vn个元素。 V的元素总和始终为1.我所做的是保留V的旧副本,然后计算新副本。然后我计算两个向量之间的差异,如E = V_new - V_old。所有向量都是numpy个数组。所以E在这里保留旧值和新值之间的差异。但是在这一点上,我无法知道如何处理E以及如何使用它来停止循环。我认为解决这个问题的一种方法是将E的所有元素相加,然后当和的值低于阈值时停止循环,但是由于总和的结果导致零结果为零。第一次迭代,因为一些元素是负面和其他积极因素。现在我被卡住了!

编辑:我只想到使用E的绝对值。

1 个答案:

答案 0 :(得分:0)

不确定我是否理解,但你不能尝试:

while abs(E).max() > epsilon: