diff --git a/matlab/dr1.m b/matlab/dr1.m index 3fa897cf484881b3a9da6560b600b5f6fbfeed33..5ac1c7e27dadf9c17b5b91579336c15480588d08 100644 --- a/matlab/dr1.m +++ b/matlab/dr1.m @@ -378,6 +378,11 @@ else % use original Dynare solver if ~exist('OCTAVE_VERSION') dr.eigval = eig(e,d); end + for i=1:nd + if abs(ss(i,i)) < 1e-6 && abs(tt(i,i)) < 1e-6 + info(7) = 1; + end + end return end @@ -412,7 +417,7 @@ else % use original Dynare solver % derivatives with respect to dynamic state variables % forward variables w1 =w(1:n3,n2:nd); - if ~isfloat(w1) && (condest(w1) > 1e9) + if ~isscalar(w1) && (condest(w1) > 1e9) % condest() fails on a scalar under Octave info(1) = 5; info(2) = condest(w1); diff --git a/matlab/print_info.m b/matlab/print_info.m index d05ea719970115e857d82b1df4175c53999df5e0..4d7ecc82a11c95f058310f2f45d023ab12324c2c 100644 --- a/matlab/print_info.m +++ b/matlab/print_info.m @@ -48,6 +48,9 @@ if ~noprint case 6 error(['The Jacobian matrix evaluated at the steady state contains elements ' ... 'that are not real or are infinite']) + case 7 + error(['One of the eigenvalue is is close to 0/0 (the absolute ' ... + 'value of numerator and denominator is smaller than 1e-6).']) case 19 error('The steadystate file did not compute the steady state (inconsistent deep parameters).') case 20