我有一个带有6个参数的函数,比如说fn。我还有两个数组,一个'x'数组和一个'y'数组,填充了我想要评估fn的值(其他4个参数在整个时间内保持不变)。我想在x,y上得到一个fn迭代的3d图。反正有没有重新定义函数是2个参数的函数而其他4个保持不变?
我已经看过matplotlib的meshgrid,它似乎是一个方向,但是我不确定在meshgrid上调用我的函数是否会因为额外的四个(常量)参数而起作用。有任何想法吗?如果要求,将发布详细的代码。
答案 0 :(得分:1)
您正在寻找一种叫做currying(http://en.wikipedia.org/wiki/Currying)
的东西def wrapper_function_factory(fun, c, d, e f):
return lambda a, b: fun(a, b, c, d, e, f)
fixed_fun = wrapper_function_factor(fun, C, D, E, F)
Z = fixed_fun(x, y) # assuming your function can do broadcasting