コード例 #1
0
      /**
       * C++ version of gsl_multifit_fsolver_iterate().
       * @param s The fsolver.
       * @return Error code on failure.
       */
      inline static int iterate( fsolver& s ){
	int const result = gsl_multifit_fsolver_iterate( s.get() );
	s.x_v.wrap_gsl_vector_without_ownership( s.get()->x );
	s.f_v.wrap_gsl_vector_without_ownership( s.get()->f );
	s.dx_v.wrap_gsl_vector_without_ownership( s.get()->dx );
	return result;
      }
コード例 #2
0
      /**
       * C++ version of gsl_multifit_fsolver_iterate().
       * @return Error code on failure.
       */
      int iterate(){
	int const& result = gsl_multifit_fsolver_iterate( get() );
	x_v.wrap_gsl_vector_without_ownership( get()->x );
	f_v.wrap_gsl_vector_without_ownership( get()->f );
	dx_v.wrap_gsl_vector_without_ownership( get()->dx );
	return result;
      }
コード例 #3
0
ファイル: my_gsl.cpp プロジェクト: mar80nik/Tracker
int MultiFitter::MainF()
{
	multifit_fdfsolver_type = gsl_multifit_fdfsolver_lmsder;
	sf = gsl_multifit_fsolver_alloc (multifit_fsolver_type, n, p);
	gsl_multifit_fsolver_set (sf, &Ff, &x.vector);
	do
	{
		iter++;
		status = gsl_multifit_fsolver_iterate (sf);
		status = gsl_multifit_test_delta (sf->dx, sf->x, epsabs, epsrel);
	}
	while (status == GSL_CONTINUE && iter < max_iter);
	return status;	
}