微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决修正: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 举报,一经查实,本站将立刻删除。