2017-05-08 7 views
0

Ich muss fmincon irgendwann in meinem Matlab-Programm aufrufen. Ich mache das auf folgende Weise.fmincon Kompilierfehler. Norm wird nicht skalar zurückgegeben?

nonlin = @supernonlcon; 

ener = @smooth; 

sol = fmincon(ener,variables0,[],[],[],[],[],[],nonlin); 

Allerdings erhalte ich die Fehlermeldung:

Error using fmincon (line 618) 
User supplied objective function must return a scalar value. 

Error in getTetDataAndSolveStr (line 460) 
sol = fmincon(ener,variables0,[],[],[],[],[],[],nonlin); 

Die Zielfunktion:

function [E] = smooth(x) 

global LF; 


E = norm(x(1:4*LF),2); 

Was kann möglicherweise falsch hier gehen?

+0

BTW: es ist kein "Compile-Fehler" etwas wie "Ausführungsfehler" ist besser geeignet –

Antwort

0

Es gibt bereits eine Funktion namens smooth. Deshalb erschien es so, als ob die Norm einen Vektor zurückgeben würde. Meine persönliche reibungslose Funktion wurde überhaupt nicht ausgeführt.

Verwandte Themen