- if "Innovation" in self._parameters["StoreSupplementaryCalculations"]:
- self.StoredVariables["Innovation"].store( numpy.ravel( d.A1 ) )
- if self._parameters["StoreInternalVariables"]:
- Jb = 0.5 * (Xn - Xb).T * BI * (Xn - Xb)
- Jo = 0.5 * d.T * RI * d
- J = float( Jb ) + float( Jo )
- if self._parameters["StoreInternalVariables"] or "CurrentState" in self._parameters["StoreSupplementaryCalculations"]:
- self.StoredVariables["CurrentState"].store( Xn )
+ # ---> avec current state
+ if self._toStore("InnovationAtCurrentState"):
+ self.StoredVariables["InnovationAtCurrentState"].store( d )
+ if self._parameters["StoreInternalVariables"] \
+ or self._toStore("CurrentState"):
+ self.StoredVariables["CurrentState"].store( Xn )
+ if self._parameters["StoreInternalVariables"] \
+ or self._toStore("CostFunctionJ") \
+ or self._toStore("CostFunctionJb") \
+ or self._toStore("CostFunctionJo"):
+ Jb = float( 0.5 * (Xa - Xb).T * BI * (Xa - Xb) )
+ Jo = float( 0.5 * d.T * RI * d )
+ J = Jb + Jo