Python 如果需要,如何使用相同的i运行for循环? def MH(x,y,sigma=0.1,iterasyon=100): 随机输入 将numpy作为np导入 a=np.array([1]) b=np.数组([1]) 对于范围(5)中的i: ayap=浮点(随机高斯(a[i],σ)) byap=浮点(随机高斯(b[i],σ)) rss0=np.和((a[i]+b[i]*x-y)**2) rss1=np.和((ayap+byap*x-y)**2) 如果random.random()。您可以使用while循环: def MH(x,y,sigma=0.1,iterasyon=100): import random import numpy as np a=np.array([1]) b=np.array([1]) for i in range(5): ayap=float(random.gauss(a[i],sigma)) byap=float(random.gauss(b[i],sigma)) rss0 = np.sum((a[i]+b[i]*x-y)**2) rss1=np.sum((ayap+byap*x-y)**2) if random.random() <= min(1,rss1/rss0): a=np.append(a,ayap) b=np.append(b,byap) return a i=0 当我
只需使用一个额外的while循环:Python 如果需要,如何使用相同的i运行for循环? def MH(x,y,sigma=0.1,iterasyon=100): 随机输入 将numpy作为np导入 a=np.array([1]) b=np.数组([1]) 对于范围(5)中的i: ayap=浮点(随机高斯(a[i],σ)) byap=浮点(随机高斯(b[i],σ)) rss0=np.和((a[i]+b[i]*x-y)**2) rss1=np.和((ayap+byap*x-y)**2) 如果random.random()。您可以使用while循环: def MH(x,y,sigma=0.1,iterasyon=100): import random import numpy as np a=np.array([1]) b=np.array([1]) for i in range(5): ayap=float(random.gauss(a[i],sigma)) byap=float(random.gauss(b[i],sigma)) rss0 = np.sum((a[i]+b[i]*x-y)**2) rss1=np.sum((ayap+byap*x-y)**2) if random.random() <= min(1,rss1/rss0): a=np.append(a,ayap) b=np.append(b,byap) return a i=0 当我,python,for-loop,if-statement,Python,For Loop,If Statement,只需使用一个额外的while循环: def MH(x,y,sigma=0.1,iterasyon=100): import random import numpy as np a=np.array([1]) b=np.array([1]) i, c = 0, 0 while i < 5: try: ayap=float(random.gauss(a[i],sigma))
def MH(x,y,sigma=0.1,iterasyon=100):
import random
import numpy as np
a=np.array([1])
b=np.array([1])
i, c = 0, 0
while i < 5:
try:
ayap=float(random.gauss(a[i],sigma))
byap=float(random.gauss(b[i],sigma))
rss0 = np.sum((a[i]+b[i]*x-y)**2)
rss1=np.sum((ayap+byap*x-y)**2)
if random.random() <= min(1,rss1/rss0):
a=np.append(a,ayap)
b=np.append(b,byap)
except:
# handle some error here, maybe
c = c + 1
# if code fails 3 times, break
if c == 3:
break
else:
# only increment when there was no exception
i = i + 1
return a
def MH(x,y,sigma=0.1,iterasyon=100):
随机输入
将numpy作为np导入
a=np.array([1])
b=np.数组([1])
对于范围(5)中的i:
尽管如此:
ayap=浮点(随机高斯(a[i],σ))
byap=浮点(随机高斯(b[i],σ))
rss0=np.和((a[i]+b[i]*x-y)**2)
rss1=np.和((ayap+byap*x-y)**2)
如果是随机的,谢谢你。非常有用,但遗憾的是,我还不能放弃你的答案,因为我刚刚创建了我的帐户。
def MH(x,y,sigma=0.1,iterasyon=100):
import random
import numpy as np
a=np.array([1])
b=np.array([1])
i, c = 0, 0
while i < 5:
try:
ayap=float(random.gauss(a[i],sigma))
byap=float(random.gauss(b[i],sigma))
rss0 = np.sum((a[i]+b[i]*x-y)**2)
rss1=np.sum((ayap+byap*x-y)**2)
if random.random() <= min(1,rss1/rss0):
a=np.append(a,ayap)
b=np.append(b,byap)
except:
# handle some error here, maybe
c = c + 1
# if code fails 3 times, break
if c == 3:
break
else:
# only increment when there was no exception
i = i + 1
return a
def MH(x,y,sigma=0.1,iterasyon=100):
import random
import numpy as np
a=np.array([1])
b=np.array([1])
for i in range(5):
while True:
ayap=float(random.gauss(a[i],sigma))
byap=float(random.gauss(b[i],sigma))
rss0 = np.sum((a[i]+b[i]*x-y)**2)
rss1=np.sum((ayap+byap*x-y)**2)
if random.random() <= min(1,rss1/rss0):
a=np.append(a,ayap)
b=np.append(b,byap)
else:
break
return a