【问题标题】:Script for working out exponential limit within a set range用于计算设定范围内的指数限制的脚本
【发布时间】:2017-08-25 16:44:54
【问题描述】:

在上图中,B 列是 A1 的倍数,C 列是 C = C + B(沿行向下)

我计算出,为了使 C 在 20 行中为 50,A1 必须为 0.2631579,但我希望能够将其简化为将返回列表的函数:list = exp(50, 20) .

我不确定这样一个脚本的术语,所以事先研究并没有真正带来任何东西抱歉。

【问题讨论】:

  • list(不要使用那个名字)应该是什么? A1的下限?
  • 是的,不应该使用,你是对的。是 A1 的下限。
  • 此外,exp 已经是 math 的一个方法,并且做了其他事情。

标签: python python-2.7 list math exponential


【解决方案1】:

根据您的问题陈述,我们知道:

Bn=(n-1)×a;和 Cn=(n-1)×n×a/2(这里 aA 的值1)。

所以我们只需要解决 a for C20=50。或更多基因:Cn=m。这很简单:a = 2×m/(n×(n-1)).

所以函数很简单:

def find_threshold(m,n):
    return 2.0*m/(n*(n-1))

对于您的示例输入,下限为:

>>> find_threshold(50,20)
0.2631578947368421

如果您将此值插入到 Excel 表中,您将获得 50(尽管可能存在小的舍入误差)。假设我们假设对数字的计算是在恒定时间内完成的,这个脚本也可以在恒定时间内工作(O(1)),所以它非常快(即使行号等会是巨大的)。

【讨论】:

  • 太棒了!谢谢你的时间,这将花费我无数年的时间来解决。回想起来,它看起来确实有点简单的数学,所以我会喜欢理解你所做的,而不仅仅是复制粘贴到我自己的代码中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2013-05-29
  • 1970-01-01
  • 2016-05-07
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多