我尝试使用Powell的方法来最小化一个函数。但是,我遇到了一个问题,即保存文件的优化步骤。 这是我到目前为止所做的一般概念:
def printx(coeff):
global fout
fout.write(coeff)
func = 'TEST'
fout = open(func +'.txt','w')
opt_res = opt.fmin_powell(engine, coeff, args=(func,func), callback=printx,disp=1)
fout.close()
我收到带有线符号的TEST.txt文件:
`¯q^Y^T´^L@`¯q^Y^T´^L@`¯q^Y^T´^L@`¯q^Y^T´^L@
我做错了什么?
答案 0 :(得分:0)
write
must be a string的论据。
稍微清理一下代码:
with open(filename, 'w') as f:
callback = lambda x: f.write(str(x))
opt_res = opt.fmin_powell(engine, coeff, args=(func,func), callback=callback, disp=1)