|
a/OptimLib1.mod |
|
b/OptimLib1.mod |
|
... |
|
... |
80 |
(* Lokales MATaus geloescht. *)
|
80 |
(* Lokales MATaus geloescht. *)
|
81 |
(*------------------------------------------------------------------------*)
|
81 |
(*------------------------------------------------------------------------*)
|
82 |
(* 19.06.16, MRi: Zusamennfassen der unter freier Lizenz stehenden *)
|
82 |
(* 19.06.16, MRi: Zusamennfassen der unter freier Lizenz stehenden *)
|
83 |
(* Module Trudge,FletcherPowell, NelderMead und FMinBr *)
|
83 |
(* Module Trudge,FletcherPowell, NelderMead und FMinBr *)
|
84 |
(* 02.05.18, MRi: MinBrack aus dem Modul entfernt *)
|
84 |
(* 02.05.18, MRi: MinBrack aus dem Modul entfernt *)
|
|
|
85 |
(* 30.08.18, MRi: Anpassen von Formatanweisungen fuer WriteN *)
|
85 |
(*------------------------------------------------------------------------*)
|
86 |
(*------------------------------------------------------------------------*)
|
86 |
(* Offene Punkte *)
|
87 |
(* Offene Punkte *)
|
87 |
(* *)
|
88 |
(* *)
|
88 |
(* - In FletcherPowell wird auf die Matrix V in Fortran Speicherordnung *)
|
89 |
(* - In FletcherPowell wird auf die Matrix V in Fortran Speicherordnung *)
|
89 |
(* zugegriffen - koennte man korrigieren *)
|
90 |
(* zugegriffen - koennte man korrigieren *)
|
|
... |
|
... |
107 |
(*------------------------------------------------------------------------*)
|
108 |
(*------------------------------------------------------------------------*)
|
108 |
(* Implementation : Michael Riedl *)
|
109 |
(* Implementation : Michael Riedl *)
|
109 |
(* Licence : GNU Lesser General Public License (LGPL) *)
|
110 |
(* Licence : GNU Lesser General Public License (LGPL) *)
|
110 |
(*------------------------------------------------------------------------*)
|
111 |
(*------------------------------------------------------------------------*)
|
111 |
|
112 |
|
112 |
(* $Id: OptimLib1.mod,v 1.2 2018/05/03 07:19:23 mriedl Exp mriedl $ *)
|
113 |
(* $Id: OptimLib1.mod,v 1.3 2018/06/30 09:49:32 mriedl Exp mriedl $ *)
|
113 |
|
114 |
|
114 |
FROM SYSTEM IMPORT TSIZE;
|
115 |
FROM SYSTEM IMPORT TSIZE;
|
115 |
FROM Storage IMPORT ALLOCATE,DEALLOCATE;
|
116 |
FROM Storage IMPORT ALLOCATE,DEALLOCATE;
|
116 |
FROM Errors IMPORT Fehler,Fehlerflag,ErrOut;
|
117 |
FROM Errors IMPORT Fehler,Fehlerflag,ErrOut;
|
117 |
IMPORT Deklera;
|
118 |
IMPORT Deklera;
|
|
... |
|
... |
2762 |
VAR i : CARDINAL;
|
2763 |
VAR i : CARDINAL;
|
2763 |
dX,dA1 : LONGREAL;
|
2764 |
dX,dA1 : LONGREAL;
|
2764 |
|
2765 |
|
2765 |
BEGIN
|
2766 |
BEGIN
|
2766 |
Write2("//,S,C2,//",'Optimierungsdaten in Zyklus : ',Zyklus);
|
2767 |
Write2("//,S,C2,//",'Optimierungsdaten in Zyklus : ',Zyklus);
|
2767 |
Write5("//,X13,S,X10,S,X10,S,X5,S,X9,S,//",
|
2768 |
Write5("//,13X,2(A,10X),2(A,5X),4X,S,//",
|
2768 |
"X","dX","1. Ableitung","dA1","2. Ableitung");
|
2769 |
"X","dX","1. Ableitung","dA1","2. Ableitung");
|
2769 |
FOR i:=0 TO NVar-1 DO
|
2770 |
FOR i:=0 TO NVar-1 DO
|
2770 |
dX := X0[i] - X0alt[i];
|
2771 |
dX := X0[i] - X0alt[i];
|
2771 |
dA1 := Ableit1[i] - Abl1Alt[i];
|
2772 |
dA1 := Ableit1[i] - Abl1Alt[i];
|
2772 |
IF (Zyklus = 0) THEN dX:=0.0; dA1:=0.0; END;
|
2773 |
IF (Zyklus = 0) THEN dX:=0.0; dA1:=0.0; END;
|
2773 |
Write1("C3,X2",i+1);
|
2774 |
Write1("C3,2X",i+1);
|
2774 |
Write5("F14.8,X2,F11.8,X2,F14.8,X2,F11.8,X2,F14.8,/",
|
2775 |
Write5("2(F14.8,2X,F11.8,2X),F14.8,/",
|
2775 |
X0[i],dX,Ableit1[i],dA1,Ableit2[i]);
|
2776 |
X0[i],dX,Ableit1[i],dA1,Ableit2[i]);
|
2776 |
END;
|
2777 |
END;
|
2777 |
END WriteFPDaten;
|
2778 |
END WriteFPDaten;
|
2778 |
|
2779 |
|
2779 |
CONST MinAbw = 0.0010;
|
2780 |
CONST MinAbw = 0.0010;
|