修正:Numpy / Scipy 优化:将对象作为参数传递

问题描述

编辑:它现在运行良好 - 我已经粘贴了一个我尚未运行的错字的更正......谢谢!

原始问题:

使用 python / numpy / scipy,我想最小化一个函数 f,它取决于几个附加参数 c_1,c_2...,c_N。由于这些有很多:是否有可能像 matlab 的 fminsearch 一样,不仅将元组作为附加参数传递,还可以传递任意对象,例如类?我想像这样:

from scipy import optimize as opt

def banana(x,s):
    return 100*(x[1]-s.c)**2+(1-x[0])**2 

class s:
    pass
s.c = 55

xopt,fopt,iter,funcalls,warnflag  \
    = opt.fmin(func=banana,x0=np.array([-1.2,1]),args=(s,),xtol=0.0001,ftol=0.00001,full_output = True)

上面的代码产生“AttributeError: 'int' object has no attribute 'c'”,我从参数是元组的规范中理解。 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)