ich stehe vor folgendem Problem. Ich bekomme ein Lösungsvektor ausgegeben der mir sinnvoll erscheint. Jedoch sollte doch der erreichte minimale Funktionswert somit der selbige sein, wie wenn ich die Werte des Lösungsvektor mit Excel über die selbe Funktion berechne, das ist er aber nicht. Ich bin komplett verwirrt wie kann sowas zustande kommen? Kann sich das mal einer anschauen, ob ich ggf. Klammern oder irgendetwas nicht richtig beachte ich programmiere erst seit wenigen Tagen.Ich hab den Quellcode der Zielfunktion mal direkt mit werten versehen und zeig euch noch diesen wo ich zuvor die variablen definiert hab.
Code: Alles auswählen
ffun =(0.25942*10**(-05))*3.141592*X(1)*X(2)*X(3)
& +1+(0.25942*10**(-05))*3.141592*(X(2)**2)*X(3)
& +2*0.0001*X(3)*(2*3.141592*X(2)+X(1))
& +0.0008*(X(3)**2)*(2*3.141592*X(2)+X(1))
& +(0.1592*10**(-05))*(3.141592*(X(2)**2)+3.141592*X(2)*X(1))
Code: Alles auswählen
REAL*8 FUNCTION FFUN(X)
IMPLICIT NONE
REAL*8 X(3)
DOUBLE PRECISION :: pi = 3.141592d0
DOUBLE PRECISION :: a1 = 0.0001d0
DOUBLE PRECISION :: a2 = 0.0008d0
DOUBLE PRECISION :: a3 = 1.d0
DOUBLE PRECISION :: a4 = 0.25942*10**(-5)*1d0
DOUBLE PRECISION :: a7 = 0.1592*10**(-5)*1d0
ffun =a4*pi*X(1)*X(2)*X(3)
& +a3+a4*pi*X(2)**2*X(3)
& +2*a1*X(3)*(2*pi*X(2)+X(1))+a2*X(3)**2*(2*pi*X(2)+X(1))
& +a7*(pi*X(2)**2+pi*X(2)*X(1))
END