NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
fitting.cpp File Reference
#include "parser_functions.hpp"
#include "../../kernel.hpp"
#include "fitcontroller.hpp"
#include "../interval.hpp"
Include dependency graph for fitting.cpp:

Go to the source code of this file.

Classes

struct  FittingData
 

Functions

static std::vector< double > evaluateFittingParams (FittingData &fitData, std::string &sCmd, Indices &_idx, std::string &sTeXExportFile, bool &bTeXExport, bool &bMaskDialog)
 
static mu::varmap_type getFittingParameters (FittingData &fitData, const mu::varmap_type &varMap, const std::string &sCmd)
 
static int getDataForFit (const std::string &sCmd, std::string &sDimsForFitLog, FittingData &fitData)
 
static void removeObsoleteParentheses (std::string &sFunction)
 
static bool calculateChiMap (std::string sFunctionDefString, const std::string &sFuncDisplay, Indices &_idx, mu::varmap_type &varMap, mu::varmap_type &paramsMap, FittingData &fitData, std::vector< double > vInitialVals)
 
static std::string applyFitAlgorithm (Fitcontroller &_fControl, FittingData &fitData, mu::varmap_type &paramsMap, const std::string &sFuncDisplay, const std::string &sCmd)
 
static void calculateCovarianceData (FittingData &fitData, double dChisq, size_t paramsMapSize)
 
static std::string getFitOptionsTable (Fitcontroller &_fControl, FittingData &fitData, const std::string &sFuncDisplay, const std::string &sFittedFunction, const std::string &sDimsForFitLog, double dChisq, const mu::varmap_type &paramsMap, size_t nSize, bool forFitLog)
 
static std::string getParameterTable (FittingData &fitData, mu::varmap_type &paramsMap, const std::vector< double > &vInitialVals, size_t windowSize, const std::string &sPMSign, bool forFitLog)
 
static std::string constructCovarianceMatrix (FittingData &fitData, size_t paramsMapSize, bool forFitLog)
 
static double calculatePercentageAvgAndCreateParserVariables (FittingData &fitData, mu::varmap_type &paramsMap, double dChisq)
 
static std::string getFitAnalysis (Fitcontroller &_fControl, FittingData &fitData, double dNormChisq, double dAverageErrorPercentage, bool noOverfitting)
 
static void createTeXExport (Fitcontroller &_fControl, const std::string &sTeXExportFile, const std::string &sCmd, mu::varmap_type &paramsMap, FittingData &fitData, const std::vector< double > &vInitialVals, size_t nSize, const std::string &sFitAnalysis, const std::string &sFuncDisplay, const std::string &sFittedFunction, double dChisq)
 
bool fitDataSet (string &sCmd, Parser &_parser, MemoryManager &_data, FunctionDefinitionManager &_functions, const Settings &_option)
 

Function Documentation

◆ applyFitAlgorithm()

static string applyFitAlgorithm ( Fitcontroller _fControl,
FittingData fitData,
mu::varmap_type paramsMap,
const std::string &  sFuncDisplay,
const std::string &  sCmd 
)
static

◆ calculateChiMap()

static bool calculateChiMap ( std::string  sFunctionDefString,
const std::string &  sFuncDisplay,
Indices _idx,
mu::varmap_type varMap,
mu::varmap_type paramsMap,
FittingData fitData,
std::vector< double >  vInitialVals 
)
static

◆ calculateCovarianceData()

static void calculateCovarianceData ( FittingData fitData,
double  dChisq,
size_t  paramsMapSize 
)
static

◆ calculatePercentageAvgAndCreateParserVariables()

static double calculatePercentageAvgAndCreateParserVariables ( FittingData fitData,
mu::varmap_type paramsMap,
double  dChisq 
)
static

Definition at line 1510 of file fitting.cpp.

References date::abs(), FittingData::bSaveErrors, mu::ParserBase::Eval(), NumeReKernel::getInstance(), NumeReKernel::getParser(), mu::ParserBase::SetExpr(), toCmdString(), and FittingData::vz_w.

Referenced by fitDataSet().

Here is the call graph for this function:

◆ constructCovarianceMatrix()

static string constructCovarianceMatrix ( FittingData fitData,
size_t  paramsMapSize,
bool  forFitLog 
)
static

Definition at line 1429 of file fitting.cpp.

References strfill(), toString(), and FittingData::vz_w.

Referenced by fitDataSet().

Here is the call graph for this function:

◆ createTeXExport()

static void createTeXExport ( Fitcontroller _fControl,
const std::string &  sTeXExportFile,
const std::string &  sCmd,
mu::varmap_type paramsMap,
FittingData fitData,
const std::vector< double > &  vInitialVals,
size_t  nSize,
const std::string &  sFitAnalysis,
const std::string &  sFuncDisplay,
const std::string &  sFittedFunction,
double  dChisq 
)
static

◆ evaluateFittingParams()

static vector< double > evaluateFittingParams ( FittingData fitData,
std::string &  sCmd,
Indices _idx,
std::string &  sTeXExportFile,
bool &  bTeXExport,
bool &  bMaskDialog 
)
static

◆ fitDataSet()

bool fitDataSet ( string &  sCmd,
Parser _parser,
MemoryManager _data,
FunctionDefinitionManager _functions,
const Settings _option 
)

Definition at line 73 of file fitting.cpp.

References _lang, applyFitAlgorithm(), FittingData::b1DChiMap, FittingData::bNoParams, FittingData::bSaveErrors, FittingData::bUseErrors, calculateChiMap(), calculateCovarianceData(), calculatePercentageAvgAndCreateParserVariables(), SyntaxError::CANNOT_BE_A_FITTING_PARAM, SyntaxError::CANNOT_OPEN_FITLOG, constructCovarianceMatrix(), MemoryManager::containsTablesOrClusters(), createTeXExport(), FunctionDefinitionManager::defineFunc(), FittingData::dPrecision, mu::ParserBase::Eval(), evaluateFittingParams(), findCommand(), SyntaxError::FITFUNC_NOT_CONTAINS, Language::get(), Fitcontroller::getCovarianceMatrix(), getDataForFit(), FunctionDefinitionManager::getDefinitionString(), getFitAnalysis(), Fitcontroller::getFitChi(), Fitcontroller::getFitFunction(), getFitOptionsTable(), getFittingParameters(), FunctionDefinitionManager::getFunctionIndex(), getParameterTable(), getTimeStamp(), mu::ParserBase::GetUsedVar(), Settings::getWindow(), IntervalSet::intervals, SyntaxError::invalid_position, FunctionDefinitionManager::isDefined(), NumeReKernel::issueWarning(), FittingData::ivl, LineBreak(), make_hline(), FittingData::nDim, FittingData::nFitVars, FittingData::nMaxIterations, SyntaxError::NO_DATA_FOR_FIT, SyntaxError::NO_PARAMS_FOR_FIT, SyntaxError::OVERFITTING_ERROR, NumeReKernel::print(), NumeReKernel::printPreFmt(), reduceLogFilesize(), removeObsoleteParentheses(), FittingData::restricted, FittingData::sChiMap, FittingData::sChiMap_Vars, mu::ParserBase::SetExpr(), FittingData::sFitFunction, FittingData::sParams, FittingData::sRestrictions, strfill(), StripSpaces(), Settings::systemPrints(), NumeReKernel::toggleTableStatus(), toSystemCodePage(), toUpperCase(), FileSystem::ValidFileName(), FittingData::vx, FittingData::vy, FittingData::vz, and FittingData::vz_w.

Referenced by cmd_fit().

Here is the call graph for this function:

◆ getDataForFit()

◆ getFitAnalysis()

static string getFitAnalysis ( Fitcontroller _fControl,
FittingData fitData,
double  dNormChisq,
double  dAverageErrorPercentage,
bool  noOverfitting 
)
static

Definition at line 1560 of file fitting.cpp.

References _lang, FittingData::bUseErrors, Language::get(), Fitcontroller::getIterations(), FittingData::nFitVars, and FittingData::nMaxIterations.

Referenced by fitDataSet().

Here is the call graph for this function:

◆ getFitOptionsTable()

static string getFitOptionsTable ( Fitcontroller _fControl,
FittingData fitData,
const std::string &  sFuncDisplay,
const std::string &  sFittedFunction,
const std::string &  sDimsForFitLog,
double  dChisq,
const mu::varmap_type paramsMap,
size_t  nSize,
bool  forFitLog 
)
static

Definition at line 1371 of file fitting.cpp.

References _lang, FittingData::bUseErrors, FittingData::dPrecision, Language::get(), Fitcontroller::getFitChi(), Fitcontroller::getIterations(), FittingData::ivl, FittingData::nFitVars, FittingData::nMaxIterations, FittingData::restricted, FittingData::sRestrictions, and toString().

Referenced by fitDataSet().

Here is the call graph for this function:

◆ getFittingParameters()

static mu::varmap_type getFittingParameters ( FittingData fitData,
const mu::varmap_type varMap,
const std::string &  sCmd 
)
static

Definition at line 681 of file fitting.cpp.

References FittingData::bNoParams, mu::ParserBase::Eval(), NumeReKernel::getInstance(), getMatchingParenthesis(), NumeReKernel::getParser(), mu::ParserBase::GetUsedVar(), SyntaxError::invalid_position, SyntaxError::NO_PARAMS_FOR_FIT, mu::ParserBase::SetExpr(), and FittingData::sParams.

Referenced by fitDataSet().

Here is the call graph for this function:

◆ getParameterTable()

static string getParameterTable ( FittingData fitData,
mu::varmap_type paramsMap,
const std::vector< double > &  vInitialVals,
size_t  windowSize,
const std::string &  sPMSign,
bool  forFitLog 
)
static

Definition at line 1469 of file fitting.cpp.

References date::abs(), NumeReKernel::getInstance(), Settings::getPrecision(), NumeReKernel::getSettings(), strfill(), toString(), and FittingData::vz_w.

Referenced by fitDataSet().

Here is the call graph for this function:

◆ removeObsoleteParentheses()

static void removeObsoleteParentheses ( std::string &  sFunction)
static

Definition at line 1121 of file fitting.cpp.

References getMatchingParenthesis(), and StripSpaces().

Referenced by fitDataSet().

Here is the call graph for this function: