Python 如何将值的numpy数组生成可调用函数?

Python 如何将值的numpy数组生成可调用函数?,python,numpy,scipy,numeric,Python,Numpy,Scipy,Numeric,是否可以使用scipy.optimize方案来最小化纯数值而非表达式给出的函数 具体来说,解偏微分方程的程序返回一个数组,其条目是平面中单位平方上方程解的值。我想在最小化问题中使用这个函数。现在所有的scipy最小化函数似乎都能很好地用于类型的函数 def function(x): return expression(x) 但我不知道如何在这种情况下使用它们。为了关注一个特定的问题,假设我们有以下数据 x = np.arange(0,1,0.01) y

是否可以使用
scipy.optimize
方案来最小化纯数值而非表达式给出的函数

具体来说,解偏微分方程的程序返回一个数组,其条目是平面中单位平方上方程解的值。我想在最小化问题中使用这个函数。现在所有的
scipy
最小化函数似乎都能很好地用于类型的函数

    def function(x):
        return expression(x)
但我不知道如何在这种情况下使用它们。为了关注一个特定的问题,假设我们有以下数据

    x = np.arange(0,1,0.01)
    y = solution_matrix_row_n
其中,矩阵纯粹是形状的数值
(100100)
,不明确依赖于
x
。例如,针对
x
绘制的具有混合边界条件的泊松方程解的第11行如下所示:

我怎样做一个函数

    x -> y

这将被一个
scipy.optimize
schemes?

errr.接受。。正如您在问题中所定义的那样,
返回np.random.randn(100)+2*x
@DrBwts不起作用。我对问题进行了编辑,这样就不会明显依赖于
x
。我刚刚输入了
def函数(x):返回y
,运行
scipy.optimize.minimize\u scalar(函数)
后,我得到了
TypeError:不支持的操作数类型-:“list”和“list”
。编辑您的问题,包括您尝试过的所有代码,更容易理解您的意思。
scipy.optimize.minimize\u scalar
表示函数必须接受一个标量输入(即一个数值),然后返回一个标量。最小化代码将使用一个值(从某个范围中选择)重复调用此函数,期望返回一个它尝试最小化的值。该函数实际上不必使用
x
的值,但如果不使用,则计算是毫无意义的——“常量”或“随机”函数的最小值是多少?还有其他
最小化
函数,其中一些函数采用数组
x
。但我认为所有的方法都要求
x
为1d(但是2d数组很容易重塑0。并且所有方法都需要一个单一的返回值。从理论上讲,最小化数组值即使不是不可能,也是困难的()