Pass Class Method To Fsolve
I have the following code: import scipy.optimize class demo(object): def get_square(self, var): return var ** 2 - 4 new = demo() scipy.optimize.fsolve(new.get_square(), 1) A
Solution 1:
You're actually calling the function before fsolve has a change to do anything; since the call has no arguments this will raise the expected TypeError.
You could either remove the call () to new.get_square:
scipy.optimize.fsolve(new.get_square, 1)
or, since you aren't actually even using self in get_square, make it a @staticmethod:
class demo(object):
@staticmethod
def get_square(var):
return var ** 2 - 4
new = demo()
scipy.optimize.fsolve(new.get_square, 1)
Two small notes:
- Use CapWords for class names, that is,
demo -> Demo. - If you aren't trying to be portable between Python 2/3, no need to inherit from
object.
Post a Comment for "Pass Class Method To Fsolve"