我有一个问题,我想不通。我创建了从数据使用scipy.interpolate.interp2d这给了我两个变量查找插值函数的最小值。
def Time_function():
'''creates a interpolated function of Time depending on
Cl and Cd using the in and outputs of matlab sim run.
'''
return interp2d(import_data()[0], import_data()[1], import_data()[2])
女巫运作良好的可调用的函数,但是我现在想找到这个功能的使用 scipy.optimize最小的一个插值功能.fmin或mimimize
def find_min_time():
'''finds the min time based on the interpolated function
'''
f = Time_function()
return minimize(f, np.array([1.0, 0.4]))
f显然需要2个参数,所以最小化将需要一个函数(f)和两个猜测。不过,我似乎无法找到正确的方式来输入initail的猜测,我得到这个错误:
TypeError: __call__() takes at least 3 arguments (2 given)
任何人都知道一个解决方案吗?
干杯//
我看不到** f **需要2个参数;我没有看到明确的参数。另外,我怀疑你的问题是你传递了Time_function调用的_value_,而不是函数本身。尝试**最小化(Time_function,[1.0,0.4])**? – Prune
返回TypeError:Time_function()不带参数(给出1),奇怪的是 – user5786425
老鼠。那么,如果你愿意提供[最小,完整,可验证的例子](http://stackoverflow.com/help/mcve),我会很乐意为这些机制工作。 – Prune