From fcef3ca09f003a4c47aa5b779cb0fbdd8135c1a3 Mon Sep 17 00:00:00 2001 From: Willi Mutschler <willi@mutschler.eu> Date: Thu, 26 Nov 2020 12:57:57 +0100 Subject: [PATCH] :white_check_mark: Don't do bgp/solow in Octave [skip ci] The levenberg-marquardt algorithm is not available in octave's implementation of fsolve, so we check the verbatim block only in matlab --- tests/bgp/solow-1/solow.mod | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/bgp/solow-1/solow.mod b/tests/bgp/solow-1/solow.mod index e4d9fa8be8..fae22bcd3c 100644 --- a/tests/bgp/solow-1/solow.mod +++ b/tests/bgp/solow-1/solow.mod @@ -36,7 +36,9 @@ model; PhysicalCapitalStock = (1-delta)*PhysicalCapitalStock(-1) + s*Output; end; - +if ~isoctave +% The levenberg-marquardt algorithm is not available in octave's +% implementation of fsolve, so we skip this check for Octave verbatim; bgp.write(M_); @@ -57,6 +59,7 @@ verbatim; else fun = @solow.bgpfun; end + reverseStr = ''; for i=1:MC y = 1+(rand(6,1)-.5)*.2; g = ones(6,1); @@ -66,8 +69,14 @@ verbatim; GY(i) = y(11); GK(i) = y(12); EG(i) = y(2); - end + end + % Display the progress + percentDone = 100 * i / MC; + msg = sprintf('Percent done: %3.1f', percentDone); + fprintf([reverseStr, msg]); + reverseStr = repmat(sprintf('\b'), 1, length(msg)); end + fprintf('\n'); % Compute the physical capital stock over output ratio along the BGP as % a function of the deep parameters... theoretical_long_run_ratio = s*EfficiencyGrowth_ss*PopulationGrowth_ss/(EfficiencyGrowth_ss*PopulationGrowth_ss-1+delta); @@ -89,3 +98,5 @@ verbatim; assert(var(EG(~isnan(EG)))<1e-16); end; + +end; \ No newline at end of file -- GitLab