74 lines
3.6 KiB
Matlab
74 lines
3.6 KiB
Matlab
function display_comparison_moments(M_, options_mom_, data_moments, model_moments)
|
|
% function display_comparison_moments(M_, options_mom_, data_moments, model_moments)
|
|
% -------------------------------------------------------------------------
|
|
% Displays and saves to disk the comparison of the data moments and the model moments
|
|
% =========================================================================
|
|
% INPUTS
|
|
% M_: [structure] model information
|
|
% options_mom_: [structure] method of moments options
|
|
% data_moments: [vector] data moments
|
|
% model_moments: [vector] model moments
|
|
% -------------------------------------------------------------------------
|
|
% OUTPUT
|
|
% No output, just displays and saves to disk the comparison of the data moments and the model moments
|
|
% -------------------------------------------------------------------------
|
|
% This function is called by
|
|
% o mom.run
|
|
% -------------------------------------------------------------------------
|
|
% This function calls
|
|
% o dyn_latex_table
|
|
% o dyntable
|
|
% o cellofchararraymaxlength
|
|
% =========================================================================
|
|
% Copyright © 2023 Dynare Team
|
|
%
|
|
% This file is part of Dynare.
|
|
%
|
|
% Dynare is free software: you can redistribute it and/or modify
|
|
% it under the terms of the GNU General Public License as published by
|
|
% the Free Software Foundation, either version 3 of the License, or
|
|
% (at your option) any later version.
|
|
%
|
|
% Dynare is distributed in the hope that it will be useful,
|
|
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
% GNU General Public License for more details.
|
|
%
|
|
% You should have received a copy of the GNU General Public License
|
|
% along with Dynare. If not, see <https://www.gnu.org/licenses/>.
|
|
% =========================================================================
|
|
|
|
titl = ['Comparison of matched data moments and model moments (',options_mom_.mom.mom_method,')'];
|
|
headers = {'Moment','Data','Model'};
|
|
for jm = 1:size(M_.matched_moments,1)
|
|
lables_tmp = 'E[';
|
|
lables_tmp_tex = 'E \left[ ';
|
|
for jvar = 1:length(M_.matched_moments{jm,1})
|
|
lables_tmp = [lables_tmp M_.endo_names{M_.matched_moments{jm,1}(jvar)}];
|
|
lables_tmp_tex = [lables_tmp_tex, '{', M_.endo_names_tex{M_.matched_moments{jm,1}(jvar)}, '}'];
|
|
if M_.matched_moments{jm,2}(jvar) ~= 0
|
|
lables_tmp = [lables_tmp, '(', num2str(M_.matched_moments{jm,2}(jvar)), ')'];
|
|
lables_tmp_tex = [lables_tmp_tex, '_{t', num2str(M_.matched_moments{jm,2}(jvar)), '}'];
|
|
else
|
|
lables_tmp_tex = [lables_tmp_tex, '_{t}'];
|
|
end
|
|
if M_.matched_moments{jm,3}(jvar) > 1
|
|
lables_tmp = [lables_tmp, '^', num2str(M_.matched_moments{jm,3}(jvar))];
|
|
lables_tmp_tex = [lables_tmp_tex, '^{', num2str(M_.matched_moments{jm,3}(jvar)) '}'];
|
|
end
|
|
if jvar == length(M_.matched_moments{jm,1})
|
|
lables_tmp = [lables_tmp, ']'];
|
|
lables_tmp_tex = [lables_tmp_tex, ' \right]'];
|
|
else
|
|
lables_tmp = [lables_tmp, '*'];
|
|
lables_tmp_tex = [lables_tmp_tex, ' \times '];
|
|
end
|
|
end
|
|
labels{jm,1} = lables_tmp;
|
|
labels_TeX{jm,1} = lables_tmp_tex;
|
|
end
|
|
data_mat = [data_moments model_moments];
|
|
dyntable(options_mom_, titl, headers, labels, data_mat, cellofchararraymaxlength(labels)+2, 10, 7);
|
|
if options_mom_.TeX
|
|
dyn_latex_table(M_, options_mom_, titl, ['comparison_moments_', options_mom_.mom.mom_method], headers, labels_TeX, data_mat, cellofchararraymaxlength(labels)+2, 10, 7);
|
|
end |