Optimizable.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //////////////////////////////////////////////////////////////////////
  2. //
  3. // Optimizable.cpp: implementation of the Optimizable class.
  4. //
  5. // Written By: Matthias Wacker
  6. //
  7. //////////////////////////////////////////////////////////////////////
  8. #include "optimization/Optimizable.h"
  9. using namespace optimization;
  10. Optimizable::Optimizable() : m_numOfParameters(0)
  11. {
  12. }
  13. Optimizable::Optimizable(unsigned int numOfParameters) : m_numOfParameters(numOfParameters)
  14. {
  15. }
  16. Optimizable::Optimizable(const Optimizable &optimizable)
  17. {
  18. m_numOfParameters = optimizable.m_numOfParameters;
  19. }
  20. Optimizable::~Optimizable()
  21. {
  22. }
  23. Optimizable &Optimizable::operator=(const Optimizable &opt)
  24. {
  25. /*
  26. avoid self-copy
  27. */
  28. if(this != &opt)
  29. {
  30. /*
  31. own values:
  32. */
  33. m_numOfParameters = opt.m_numOfParameters;
  34. }
  35. return *this;
  36. }
  37. matrix_type Optimizable::evaluateSet(const matrix_type &parameterSet)
  38. {
  39. unsigned int iMax = parameterSet.cols();
  40. matrix_type result(parameterSet.cols(),1);
  41. for(unsigned int i = 0; i < iMax; i++)
  42. {
  43. //result(i) = this->evaluate(parameterSet.Sub(m_numOfParameters,1,0,i));
  44. result[i][0] = this->evaluate(parameterSet(0,i,m_numOfParameters-1,i));
  45. }
  46. return result;
  47. }