我有以下代码来计算所需的数量:
import numpy as np
N = 2
lamda = 2
mu = 1
a = 0.5
St_Sp = np.arange(- N, N + 1)
Card = St_Sp.shape[0]
#%% Define infintesimal generator
def In_Ge(x, y):
if x == N or x == - N:
re = 0
elif x - y == - 1:
re = lamda
elif x - y == 1:
re = mu
elif x - y == 0:
re = - (mu + lamda)
else: re = 0
return re
x = St_Sp[0]
y = In_Ge(x, x) / (In_Ge(x, x) + np.log(a))
b = - 1 / y
print(b)
结果为inf
。我检查发现y
的值不为零,所以我不明白为什么会发生这种现象。您能详细说明这个问题吗?
@ pinegulf的评论解决了我的问题:
您的'In_Ge(x,x)'重新运行0,因此y = 0且1/0定义很差。编辑:您说不是,但是如果调用x ==-2和函数,则它首先起作用。