Ungleichheitsrestriktion
-
Hallo zusammen,
ich bekomme mal wieder eine Fehlermeldung ausgegeben bei der Formulierung einer größer gleich Restriktion (>=1,5).
Wenn ich die Ungleichung mit Fließkommazahl angebe erscheint eine Fehlermeldung, jedoch aber nicht wenn ich die Fließkommazahl als Bruch umforme. Eine Klammer um den Bruch wird nicht akzeptiert, hier erscheint ebenfalls wieder eine Fehlermeldung. Ich frage mich nun, ob mit dem Bruch auch wirklich die 1,5 dargestellt werden?Restriktion mit Fehlermeldung:
G(6)=-(275/(((8X(2))/(4X(3)))**2
& +((8X(2))/(2X(3)))**2
& -((8X(2))/(4X(3)))((8X(2))/(2*X(3))))**0.5)+1.5.0d0Folgende Fehlermeldung wird ausgegeben:
error unclassifiable statement at (1)Restriktion ohne Fehlermeldung:
G(6)=-(275/(((8X(2))/(4X(3)))**2
& +((8X(2))/(2X(3)))**2
& -((8X(2))/(4X(3)))((8X(2))/(2*X(3))))**0.5)+3/2.0d0Quellcode:
SUBROUTINE GFUN(G,X) IMPLICIT NONE REAL*8 G(10) , X(3) G(1)= X(1)-1400.0d0 G(2)= -X(2)+100.0d0 G(3)= X(2)-400.0d0 G(4)=-X(3)+2.0d0 G(5)=-(4/3)*(0.5*X(2)-X(3))**3*3.141592654-3.141592654*(0.5*X(2) & -X(3))**2*X(1)+50.0d0 G(6)=-(275/(((8*X(2))/(4*X(3)))**2 & +((8*X(2))/(2*X(3)))**2 & -((8*X(2))/(4*X(3)))*((8*X(2))/(2*X(3))))**0.5)+1.5.0d0 G(7)=-(275/(((12*X(2))/(4*X(3)))**2 & +((12*X(2))/(2*X(3)))**2 & -((12*X(2))/(4*X(3)))*((12*X(2))/(2*X(3))))**0.5)+1.1.0d0 G(8)=-X(1)+0.0d0 G(9)=-X(2)+0.0d0 G(10)=-X(3)+0.0d0 END REAL*8 FUNCTION FFUN(X) IMPLICIT NONE REAL*8 X(3) ffun =0.25942*3.141592654*X(1)*X(2)*X(3) & +1+0.25942*3.141592654*X(2)**2*X(3) & +(2*0.0001*X(3)*(2*3.141592654*X(2)+X(1)) & +0.0008*X(3)**2*(2*3.141592654*X(2)+X(1))) & +0.1592*10**5*(3.141592654*X(2)**2+3.141592654*X(2)*X(1)) END ... Code ...
Um jeglichen Rat bin ich mit Dank verbunden!
Beste Grüße
Georg
-
Welch interessante Zahl 1.5.0 ist. Ist das 1.5 oder 5.0 oder tatsächlich etwas ganz anderes? Versuchst du überhaupt die Fehler zu verstehen? Und bitte reduziere die Menge der Klammern und erhöhe sie nicht auch noch. Klammern sind nicht ein magisches Lösungsmittel. Für irgendetwas gibt es Operatorpräzedenz.
Wieso entwickelst du eigentlich überhaupt in Fortran?