与分段函数集成

时间:2018-04-15 21:19:46

标签: python

在我的计算中,我需要在Python中使用以下数字。

enter image description here

z的范围为{{1}}。

在Andrey Tyukin的帮助下,我写了代码。

但是,我无法确定以下代码。

enter image description here

1 个答案:

答案 0 :(得分:1)

基本上,您可以通过kz获得唯一相关的int(z * 10)。然后,您必须确保该函数在0区间之外为[0, 4]。其余的只是简单多项式的评估。尝试这样的事情:

def f(z):
  k = int(z * 10)
  if k < 0 or k > 40: return 0.0
  return (
    ((2 * k + 1) / 20.0 - ((k + 1)**4 - k ** 4) / 1000.0) * 
    (z - k / 10.0) +
    (k*k/200.0 - k**4 / 10000.0)
  )

我假设您的公式中确实存在拼写错误,并且您实际上需要[k/10, (k+1)/10)上的特征函数(关闭,打开),而不是[k/10, (k+1)/10](关闭,关闭)。在整合期间,间隔之间的不连续跳跃无关紧要,但感觉好像它们不应该首先出现在那里。