From 2fa8051a86089dc1b3387d20edf0eea481100e9d Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm <philipp@uvos.xyz> Date: Mon, 15 May 2023 15:48:29 +0200 Subject: [PATCH] fix grad --- drt.cpp | 3 ++- main.cpp | 22 +++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/drt.cpp b/drt.cpp index f2491dc..5f910cf 100644 --- a/drt.cpp +++ b/drt.cpp @@ -118,7 +118,7 @@ public: x[i] += 2*epsilon; fvalue right = fn(x); x[i] -= epsilon; - x[i] = (right-left)/(2*epsilon); + out[i] = (right-left)/(2*epsilon); } return out; } @@ -126,6 +126,7 @@ public: fvalue operator()(Eigen::VectorX<fvalue>& x, Eigen::VectorX<fvalue>& grad) { grad = getGrad(std::bind(&RtFunct::function, this, std::placeholders::_1), x, epsilon); + std::cout<<"grad:\n"<<grad<<std::endl; return function(x); } }; diff --git a/main.cpp b/main.cpp index 4e26245..745f8e4 100644 --- a/main.cpp +++ b/main.cpp @@ -27,23 +27,19 @@ int main(int argc, char** argv) std::cout<<std::scientific; eis::Range omega(1, 1e6, 3, true); - std::vector<fvalue> omegaVector = omega.getRangeVector(); eis::Model model("r{10}-r{50}p{0.02, 0.8}"); - for(size_t i = 0; i < 2; ++i) - { - std::vector<eis::DataPoint> data = model.executeSweep(omega); - printImpedance(data); + std::vector<eis::DataPoint> data = model.executeSweep(omega); + printImpedance(data); - FitMetics fm = {}; - Eigen::VectorX<fvalue> omega; - Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omega); - Eigen::VectorX<fvalue> x = calcDrt(impedanceSpectra, omega, fm, FitParameters(1000)); + FitMetics fm = {}; + Eigen::VectorX<fvalue> omegaVector; + Eigen::VectorX<std::complex<fvalue>> impedanceSpectra = eistoeigen(data, &omegaVector); + Eigen::VectorX<fvalue> x = calcDrt(impedanceSpectra, omegaVector, fm, FitParameters(1000)); - std::cout<<"Iterations: "<<fm.iterations<<'\n'; - std::cout<<"fx "<<fm.fx<<'\n'; - std::cout<<"xVect\n"<<x<<'\n'; - } + std::cout<<"Iterations: "<<fm.iterations<<'\n'; + std::cout<<"fx "<<fm.fx<<'\n'; + std::cout<<"xVect\n"<<x<<'\n'; return 0; } -- GitLab