def gamma_func(x, b): return idx**b * x**(b-1)/math.factorial(b-1) * np.exp(-idx*x)如果b是正整数,应该怎样设置
时间: 2023-08-04 12:06:45 浏览: 146
如果 b 是正整数,那么阶乘部分可以直接计算,不需要调用 `math.factorial` 函数。可以将这部分改写为循环的形式,如下所示:
```python
def gamma_func(x, b):
result = 1
for i in range(1, b):
result *= i
return idx**b * x**(b-1)/result * np.exp(-idx*x)
```
这里的循环从 1 循环到 b-1,每次将 i 与 result 相乘,最终得到 (b-1)! 的值。然后将其代入原来的公式中即可。
阅读全文