mode_check.m: account for case where bounds are infinite and not plots are shown

time-shift
Johannes Pfeifer 2017-11-22 11:05:12 +01:00 committed by Stéphane Adjemian (Charybdis)
parent 4d89452e1b
commit ef797eec0f
1 changed files with 11 additions and 3 deletions

View File

@ -111,14 +111,22 @@ for plt = 1:nbplt
end
end
xx = x;
if x(kk)~=0
if x(kk)~=0 || ~isinf(BoundsInfo.lb(kk)) || ~isinf(BoundsInfo.lb(kk))
l1 = max(BoundsInfo.lb(kk),(1-sign(x(kk))*ll)*x(kk)); m1 = 0; %lower bound
l2 = min(BoundsInfo.ub(kk),(1+sign(x(kk))*ll)*x(kk)); %upper bound
else
%size info for 0 parameter is missing, use prior standard
%deviation
l1 = max(BoundsInfo.lb(kk),-BayesInfo.p2(kk)); m1 = 0; %lower bound
l2 = min(BoundsInfo.ub(kk),BayesInfo.p2(kk)); %upper bound
upper_bound=BoundsInfo.lb(kk);
if isinf(upper_bound)
upper_bound=-1e-6*DynareOptions.huge_number;
end
lower_bound=BoundsInfo.ub(kk);
if isinf(lower_bound)
lower_bound=-1e-6*DynareOptions.huge_number;
end
l1 = max(lower_bound,-BayesInfo.p2(kk)); m1 = 0; %lower bound
l2 = min(upper_bound,BayesInfo.p2(kk)); %upper bound
end
binding_lower_bound=0;
binding_upper_bound=0;