如何将 for 循环转换为数学 function/expression?

How to convert a for loop into a mathematical function/expression?

我有一些 for 循环形式的代码,这对编程来说很好,但如果我想在论文或文章中发表该算法则不行。因此,我想以数学表达式的形式编写该算法。

该算法主要在于返回验证 for 循环内条件的迭代

for(i=0; i<n; i++){
  if(min_x + i*db <= theta <= min_x + (i+1)*db)
    break;
  else if(min_x > theta)
    break;
}

如果第二行中的第二个不等式是 < 而不是 <=,则这里的表达式有效。换句话说,如果您的行是

,则下面的表达式适合
if(min_x + i*db <= theta < min_x + (i+1)*db)

我的表达也假设db是肯定的。如果允许它为零(产生被零除错误)或负数,事情会变得更奇怪。

i = min(n, int(max(theta - min_x, 0) / db))

int可以用最大整数函数的常规符号之一表示,例如常规方括号或没有上水平线的方括号。

注意:@aka.nice 的一个小提示,用于改进处理 for 循环正常退出而不是 break.

的情况