我为ackley提供了以下功能
def ackley(x):
a,b,c = 20.0, 0.2, 2*np.pi
f = -a*np.exp(-b*np.sqrt(np.mean(x**2)))
f -= np.exp(np.mean(np.cos(c*x)))
f += a + np.exp(1)
return f
fm27 = lambda x: ackley(x)
如何调整此函数,以便迭代多个参数值 例如
a = 20
b = np.linspace(0.6,0.9,7)
c = np.linspace(0,0.5,6)
然后打印每个组合的所有结果? 到目前为止我已经试过了,但我仍然只得到一个结果
def ackley(x):
a = 20.0
b = np.linspace(0.6,0.9,7)
pii = np.linspace(0,0.5,6)
c = 2*pii
#20.0, 0.2, 2*np.pi #here pi has to be 0, 0.1, up to 0.5 , and b has to be 0.6, 0.65 , up to 0.9
for i in pii:
for j in b:
f = -a*np.exp(-j*np.sqrt(np.mean(x**2)))
f -= np.exp(np.mean(np.cos(c*x)))
f += a + np.exp(1)
print(f)
return f
fm27 = lambda x: ackley(x)
多谢各位
这可能对你有帮助
相关问题 更多 >
编程相关推荐