首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >收敛循环索引背后的数学原理?

收敛循环索引背后的数学原理?
EN

Stack Overflow用户
提问于 2017-12-08 22:39:26
回答 0查看 87关注 0票数 2

下面的问题背后的一般数学原理是什么?

取一个包含整数的向量,例如3,3,3,3,4,4,6,3,4,4,5,和另一个表示循环索引的向量,这些循环索引的值都小于第一个向量的值,例如1,1,1,1,1,1,1,1,1,1,1,1。当每个循环索引等于第一个向量中的相应索引时,将其重置为1。当所有索引都等于1时,程序结束。

这看起来像整数分解,但我不知道如何概括地说明这一点。什么原则在这里起作用?实现相同结果的更高效的计算方法是什么?

提前谢谢。

代码语言:javascript
复制
import numpy as np

unityVec = np.ones((10), dtype=np.int)  # create a vector of ones
counter = 1                             # initialize counter

counterVec = np.ones((10), dtype=np.int) # initialize counter array
counterVec = counterVec + 1              # make counter array > ones array

littleVec = ([3, 3, 3, 3, 4, 6, 3, 4, 4, 5])   # loop reset values

while not (np.array_equal(unityVec, counterVec)):  # compare counter to ones vector 

    counterVec = counterVec + 1

    for i in range(10):
        if counterVec[i] == littleVec[i]:
            counterVec[i] = 1  # reset counterVec element to 1 once it hits limit
            #print("Counter: ", counter, "\tIndex: ", i, "\tcounterVec: ", counterVec, "\tlittleVec: ", littleVec)

    counter = counter + 1


print("Indices converged after", counter-1, "iterations!")

预期结果:小于或等于第一个向量值的乘积的正整数值。

实验结果:在给定样本值的情况下,59次循环后,指标收敛。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47716531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档