From 9a5c9b3513310554c403606189ba687f673a34c9 Mon Sep 17 00:00:00 2001 From: mj-xmr <63722585+mj-xmr@users.noreply.github.com> Date: Sat, 30 Jul 2022 20:18:34 +0200 Subject: [PATCH] Plotting Monte-Carlo solution distribution as a one-liner --- src/lib-base/src/OptimizerBase.cpp | 3 +++ src/lib-base/src/TicksProviderAdaptiveFake.cpp | 1 + src/tsqsim-lib/src/SimulatorTS.cpp | 4 ++-- src/tsqsim-lib/src/TSXformMan.cpp | 2 +- src/tsqsim/src/App.cpp | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib-base/src/OptimizerBase.cpp b/src/lib-base/src/OptimizerBase.cpp index ef2e5bd..e497617 100644 --- a/src/lib-base/src/OptimizerBase.cpp +++ b/src/lib-base/src/OptimizerBase.cpp @@ -256,7 +256,10 @@ void OptimizerBase::PlotVariance() const const DistribData & distrib = Distrib().GetDistrib(m_goals); if (distrib.IsValid()) { + ELO GnuplotPlotTerminal2d(distrib.data, "Distribution of solutions (median must be > -1):", scaleX, scaleY); + LOG << "Plotting line prototype" << Nl; + LOG << Distrib().PlotLine(distrib, false) << Nl; } //cout << "Changes abs = " << chg.sumAbsolute << " rel = " << chg.sumRelative << endl; } diff --git a/src/lib-base/src/TicksProviderAdaptiveFake.cpp b/src/lib-base/src/TicksProviderAdaptiveFake.cpp index 8a54283..628c61f 100644 --- a/src/lib-base/src/TicksProviderAdaptiveFake.cpp +++ b/src/lib-base/src/TicksProviderAdaptiveFake.cpp @@ -1,6 +1,7 @@ #include "TicksProviderAdaptiveFake.h" #include "TicksProviderFake.h" +#include "ITicks.h" TicksProviderAdaptiveFake::TicksProviderAdaptiveFake(){} TicksProviderAdaptiveFake::~TicksProviderAdaptiveFake(){} diff --git a/src/tsqsim-lib/src/SimulatorTS.cpp b/src/tsqsim-lib/src/SimulatorTS.cpp index ee763ae..4b31075 100644 --- a/src/tsqsim-lib/src/SimulatorTS.cpp +++ b/src/tsqsim-lib/src/SimulatorTS.cpp @@ -243,7 +243,7 @@ std::vector SimulatorTS::GetReconstruction(const ITSFun * fun, const Enjo std::vector ret; const VecD & reconstr = fun->ReconstructVec(input, lostMat); //LOGL << "Reconstr = " << reconstr.Print() << Nl; - for (int i = 0; i < reconstr.size(); ++i) + for (size_t i = 0; i < reconstr.size(); ++i) { TSRes res; res.val = reconstr.at(i); @@ -363,7 +363,7 @@ EnjoLib::VecD SimulatorTS::GetMA2Diff(const EnjoLib::VecD & maa, int period) con MaxMinFindD mmf; const DataOCHL & data = m_per.GetDataFull(); bool isValid = false; - for (int i = 0; i < data.Size(); ++i) + for (size_t i = 0; i < data.Size(); ++i) { const double val = data.closes.at(i) - maa.at(i); if (i > period) diff --git a/src/tsqsim-lib/src/TSXformMan.cpp b/src/tsqsim-lib/src/TSXformMan.cpp index d46b43c..c29d499 100644 --- a/src/tsqsim-lib/src/TSXformMan.cpp +++ b/src/tsqsim-lib/src/TSXformMan.cpp @@ -66,7 +66,7 @@ VecD TSXformMan::ReconstructVec(const EnjoLib::VecD & input, const EnjoLib::Matr } double valPrev = 0; - for (int j = 0; j < input.size(); ++j) + for (size_t j = 0; j < input.size(); ++j) { double val = input.at(j); const VecD & valLostVec = lost.at(j); diff --git a/src/tsqsim/src/App.cpp b/src/tsqsim/src/App.cpp index 842e63d..6c243c8 100644 --- a/src/tsqsim/src/App.cpp +++ b/src/tsqsim/src/App.cpp @@ -136,7 +136,7 @@ void App::Optim(const ISymbol & sym, const IPeriod & per) const { {LOGL << "Optim\n"; } const TSFunFactory tsFunFact; - const TSFunType tsFunType = TSFunType::TXT; /// TODO: make user's choice + //const TSFunType tsFunType = TSFunType::TXT; /// TODO: make user's choice //OptimizerTS optiTS(tsFunType, sym, per, tsFunFact); /// TODO: Opti goal: stationarity statistics //optiTS();