492 std::vector<double> Xref(incrControls.size()),
493 X(incrControls.size());
494 std::vector<double> Fref(expectedMeasures.size()),
495 F(expectedMeasures.size(), 0.);
502 if (expectedMeasures.size() != incrControls.size()) {
506 for (
unsigned int i = 0; i < incrControls.size(); i++) {
510 for (
unsigned int i = 0; i < expectedMeasures.size(); i++) {
514 for (
unsigned int c = 0;
c < incrControls.size();
c++) {
515 for (
unsigned int i = 0; i < incrControls.size(); i++) {
518 X[
c] += incrControls[
c];
520 te.FuncEval(X, F, 10, 1000);
522 for (
unsigned int i = 0; i < expectedMeasures.size(); i++) {
523 pM->
PutCoef(i + 1,
c + 1, F[i] - Fref[i]);
528 for (
unsigned int i = 0; i < expectedMeasures.size(); i++) {
529 pR->
PutCoef(i + 1, expectedMeasures[i] - Fref[i]);
534 for (
unsigned int i = 0; i < incrControls.size(); i++) {
535 X[i] = Xref[i] + pX->operator()(i + 1);
539 te.FuncEval(X, F, 10, 1000);
541 for (
unsigned int i = 0; i < expectedMeasures.size(); i++) {
virtual bool Check(const std::vector< double > &measures)=0
SolutionManager *const GetSolutionManager(integer iNLD, integer iLWS=0) const
const std::vector< double > & Measures(void) const
virtual void PutCoef(integer iRow, integer iCol, const doublereal &dCoef)
virtual void PutCoef(integer iRow, const doublereal &dCoef)=0
static std::stack< cleanup * > c
std::vector< double > & Controls(void)