我想用python实现一个简单的mcmc,但因为我是这门语言的新手 我有一些我不能指出的错误。有人能帮我吗? 提前谢谢
import numpy as np
def target(x) :
if x < 0 :
print(0)
else:
print(np.exp(-x))
return
target(1)
target(-1)
x = np.repeat(0,1000)
x[0] = 3
for(i in range(2,1000)
current = x[i-1]
proposal = current + np.random.normal(0,1,1)
A = target(proposal)/target(current)
if np.random.uniform(0,1,1) < A :
x[i] = proposal
else:
x[i] = current
plt.plot(x)
下面的运行,主要是在删除多余的paren并让函数返回值之后
您可能想考虑使用IDE类似的PyTrack、VS代码或Atom来帮助识别将来的错误。
相关问题 更多 >
编程相关推荐