5 Stimmen

Minimierung der Python-Funktion, die ein Numpy-Array als Argument hat

Ich bin neu in Python und habe folgendes Problem: Ich versuche, eine Python-Funktion zu minimieren, die ein Numpy-Array als eines ihrer Argumente hat. Wenn ich scipy.optimize.fmin verwende, wird mein Array zu einer Liste (was dazu führt, dass die Funktion nicht ausgewertet werden kann). Gibt es eine Optimierungsfunktion, die Numpy-Arrays als Funktionsargumente akzeptiert?

Vielen Dank im Voraus!

-MB

Edit: Hier ist ein Beispiel dafür, wovon ich spreche, mit freundlicher Genehmigung von @EOL:

import scipy.optimize as optimize
import numpy as np

def rosen(x):
    print x
    x=x[0]
    """The Rosenbrock function"""
    return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
x0 = np.array([[1.3, 0.7, 0.8, 1.9, 1.2]])
xopt = optimize.fmin(rosen, x0, xtol=1e-8, disp=True)
#[ 1.3  0.7  0.8  1.9  1.2]
#(note that this used to be a numpy array of length 0, 
#now it's "lost" a set of brackets")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X