Esempio n. 1
0
void ObserverTest::test_SMO_ZOH()
{
  init();
  SP::ControlZOHSimulation simZOH(new ControlZOHSimulation(_t0, _T, _h));
  simZOH->addDynamicalSystem(_DS);
  simZOH->addSensor(_sensor, _h);
  simZOH->addActuator(_pid, _h);
  SP::Observer smo(new SlidingReducedOrderObserver(_sensor, *_xHat0, _C, _L));
  simZOH->addObserver(smo, _h);
  simZOH->initialize();
  simZOH->run();
  SimpleMatrix& data = *simZOH->data();
  ioMatrix::write("SMO_ZOH.dat", "ascii", data, "noDim");
  double error =0.0;
  bool test = !((error=ioMatrix::compareRefFile(data, "SMO.ref", _tol)) >= 0.0
                && error > _tol);
  std::cout << "------- Integration done -------" << test <<std::endl;
  CPPUNIT_ASSERT_EQUAL_MESSAGE("test_SMO_ZOH : ", test, true);
}
Esempio n. 2
0
void ObserverTest::test_SMO_ZOH()
{
  init();
  SP::ControlZOHSimulation simZOH(new ControlZOHSimulation(_t0, _T, _h));
  simZOH->addDynamicalSystem(_DS);
  simZOH->addSensor(_sensor, _h);
  simZOH->addActuator(_pid, _h);
  SP::Observer smo(new SlidingReducedOrderObserver(_sensor, *_xHat0, _C, _L));
  simZOH->addObserver(smo, _h);
  simZOH->initialize();
  simZOH->run();
  SimpleMatrix& data = *simZOH->data();
  ioMatrix::write("SMO_ZOH.dat", "ascii", data, "noDim");
  // Reference Matrix
  SimpleMatrix dataRef(data);
  dataRef.zero();
  ioMatrix::read("SMO.ref", "ascii", dataRef);
  std::cout << "------- Integration done, error = " << (data - dataRef).normInf() << " -------" <<std::endl;
  CPPUNIT_ASSERT_EQUAL_MESSAGE("test_SMO_ZOH : ", (data - dataRef).normInf() < _tol, true);
}
Esempio n. 3
0
string	Satori::GetSentence(const string& name)
{
    string script, sentence=name;

    /*++m_nest_count;

    if ( m_nest_limit > 0 && m_nest_count > m_nest_limit ) {
    	sender << "呼び出し回数超過:" << name << endl;
    	--m_nest_count;
    	return string("(" + name + ")");
    }*/

    // トークをさくらスクリプトに変換
    const Talk *pTalk = GetSentenceInternal(sentence);
    if ( pTalk ) {
        Sender::nest_object smo(2);
        script = SentenceToSakuraScriptExec(*pTalk);
        sender << "return: " << script << "" << endl;
    }
    return	script;
}
Esempio n. 4
0
File: svm.cpp Progetto: sergij/svm
	void SVM::train(Problem train) {
        KernelParams p = KernelParams();
        smo(train, p);
    }