gpt4 book ai didi

python - 如何正确计算以下等式?

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:44 25 4
gpt4 key购买 nike

我正在使用 python 2.7 尝试计算以下相当困难的方程组。

enter image description here

我已经成功地实现了前两个,但在第三个方面遇到了困难。这是我的尝试,

def pi_tau( r ):
return (1 - (1 - r)**(t + 1))/(2 - r)

def mean_field( r ):
return 1 - (1 - r)**t

def pi_neighbour( r ):
inside = []
for kappa_dash in range(0, kappa - 1):

Binomial_Coefficient = (math.factorial(kappa - 1)) / (math.factorial(kappa - 1 - kappa_dash)*math.factorial(kappa_dash))

top = ((mean_field( r )*pi_tau( r ))**kappa_dash)*(1 - mean_field( r )*pi_tau( r ))**(kappa - 1 - kappa_dash)

bottom = kappa_dash + 1

fraction = top/bottom
inside.append(kappa_dash)
inside[kappa_dash] = inside[kappa_dash] + fraction*Binomial_Coefficient

return pi_tau*inside

然后我尝试调用这个函数

# set parameters 
r = 0.15
kappa = 2.1
T = 10

ppp_t = []
mmm_f = []
nnn_t = []

for t in range(0, T):
ppp_t.append(pi_tau( r ))
mmm_f.append(mean_field( r ))
nnn_t.append(pi_neighbour( r ))

我收到以下错误消息

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)
<ipython-input-41-9bcf462306f0> in <module>()


6 ppp_t.append(pi_tau( r ))
7 mmm_f.append(mean_field( r ))
----> 8 nnn_t.append(pi_neighbour( r ))

<ipython-input-39-d9acdd7490f9> in pi_neighbour(r)
19 inside[kappa_dash] = inside[kappa_dash] + fraction*Binomial_Coefficient
20
---> 21 return pi_tau*inside

TypeError: can't multiply sequence by non-int of type 'function'

我正在寻找有关如何实现第三个功能和改进我的方法的任何建议。

最佳答案

这里有几个奇怪的事情:

  • 您在 for 循环中计算顶部、底部和双项式,但不要在该 for 循环中求和;和
  • 您将 pi_tau 函数 与列表相乘?

    return pi_tau*inside
  • 您使用 range(0, kappa - 1),但 range(..) 的上限是排他的

然而,你让事情变得很困难。您可以使用以下方法:

<b>from math import factorial</b>

def pi_neighbour(r):
sum = 0.0
for kappa_dash in <b>range(0,kappa)</b>:
bin_coeff = factorial(kappa-1)/(factorial(kappa-1-kappa_dash)*factorial(kappa_dash))
top = ((mean_field(r)*pi_tau(r))**kappa_dash)*(1-mean_field(r)*pi_tau(r))**(kappa-1-kappa_dash)
<b>sum += </b>bin_coeff*top/(kappa_dask+1)
return <b>pi_tau(r)*sum</b>

关于python - 如何正确计算以下等式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44532148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com