将优化步骤保存到文件中

时间:2017-03-20 17:58:46

标签: python scipy

我尝试使用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@

我做错了什么?

1 个答案:

答案 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)