Python和科学计算认证群组  - 讨论区

标题:优化+类?

2011年02月06日 星期日 19:30

是不是optimize 库里的东西只能调用函数?

我定义了一个点,想用fmin去求到它最近的点。(当然就是他自己)可是

fmin(p.distance,【0,0】)以后总会提示

TypeError: distance() takes exactly 2 arguments (1 given)

 

也就是说fmin只能调用函数?但是对象的方法就不行?

2011年02月06日 星期日 20:21

不应该吧,下面是我做的测试:

from scipy.optimize import fmin

class P(object):

def __init__(self):

    self.a = 100.0

 

def f(self, arg):

    x, y = arg

    return (1-x)**2 + self.a*(y-x**2)**2

 

p = P()

print fmin(p.f, (10.0,10.0))

2011年02月07日 星期一 01:19

楼上威武!!问题已解决。

不过还是不大清楚为什么之前死活不行。。

话说我已经放弃了,都开始重新写程序了。。

真是博大精深啊。。

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2020

    京ICP备05028076号