diff --git a/matlab/McMCDiagnostics.m b/matlab/McMCDiagnostics.m index 0e439542621aa875fdc3f936ec3fa5634a2cc99e..a08669ca0727678151fa11a05cd0329433f8de2f 100644 --- a/matlab/McMCDiagnostics.m +++ b/matlab/McMCDiagnostics.m @@ -137,10 +137,6 @@ for i = 1:pages h = figure('Name','MCMC univariate diagnostic (Brooks and Gelman,1998)'); end boxplot = 1; - if TeX - NAMES = []; - TEXNAMES = []; - end for j = 1:3 % Loop over parameters k = k+1; [nam,namtex] = get_the_name(k,TeX); @@ -159,8 +155,13 @@ for i = 1:pages namnam = [nam , ' (m3)']; end if TeX - NAMES = strvcat(NAMES,deblank(namnam)); - TEXNAMES = strvcat(TEXNAMES,deblank(namtex)); + if j==1 + NAMES = deblank(namnam); + TEXNAMES = deblank(namtex); + else + NAMES = char(NAMES,deblank(namnam)); + TEXNAMES = char(TEXNAMES,deblank(namtex)); + end end subplot(3,3,boxplot); plot(xx,plt1,'-b'); % Pooled @@ -205,10 +206,6 @@ if reste nr = 2; nc = 3; end - if TeX - NAMES = []; - TEXNAMES = []; - end if options_.nograph h = figure('Name','MCMC univariate diagnostic (Brooks and Gelman, 1998)','Visible','off'); else @@ -233,8 +230,13 @@ if reste namnam = [nam , ' (m3)']; end if TeX - NAMES = strvcat(NAMES,deblank(namnam)); - TEXNAMES = strvcat(TEXNAMES,deblank(namtex)); + if j==1 + NAMES = deblank(namnam); + TEXNAMES = deblank(namtex); + else + NAMES = char(NAMES,deblank(namnam)); + TEXNAMES = char(TEXNAMES,deblank(namtex)); + end end subplot(nr,nc,boxplot); plot(xx,plt1,'-b'); % Pooled @@ -287,7 +289,6 @@ if TeX fprintf(fidTeX,'%% TeX eps-loader file generated by McmcDiagnostics.m (Dynare).\n'); fprintf(fidTeX,['%% ' datestr(now,0) '\n']); fprintf(fidTeX,' \n'); - NAMES = []; end tmp = zeros(NumberOfDraws*nblck,3); MDIAG = zeros(NumberOfLines,6); @@ -352,7 +353,11 @@ for crit = 1:3 namnam = 'm3'; end if TeX - NAMES = strvcat(NAMES,namnam); + if crit == 1 + NAMES = deblank(namnam); + else + NAMES = char(NAMES,deblank(namnam)); + end end subplot(3,1,boxplot); plot(xx,plt1,'-b'); % Pooled diff --git a/matlab/PlotPosteriorDistributions.m b/matlab/PlotPosteriorDistributions.m index f2ba50439f8f8e58786a5706136ddbcc8bddb0ec..be900083a3276014939754fb2e4695b18e1d65bd 100644 --- a/matlab/PlotPosteriorDistributions.m +++ b/matlab/PlotPosteriorDistributions.m @@ -16,7 +16,7 @@ function oo_ = PlotPosteriorDistributions(estim_params_, M_, options_, bayestopt % SPECIAL REQUIREMENTS % none -% Copyright (C) 2005-2008 Dynare Team +% Copyright (C) 2005-2010 Dynare Team % % This file is part of Dynare. % @@ -69,16 +69,17 @@ for i=1:npar hfig = figure('Name',figurename); end end + [nam,texnam] = get_the_name(i,TeX); if subplotnum == 1 + NAMES = nam; if TeX - TeXNAMES = []; + TeXNAMES = texnam; + end + else + NAMES = char(NAMES,nam); + if TeX + TeXNAMES = char(TeXNAMES,texnam); end - NAMES = []; - end - [nam,texnam] = get_the_name(i,TeX); - NAMES = strvcat(NAMES,nam); - if TeX - TeXNAMES = strvcat(TeXNAMES,texnam); end [x2,f2,abscissa,dens,binf2,bsup2] = draw_prior_density(i,bayestopt_); top2 = max(f2); diff --git a/matlab/PosteriorIRF.m b/matlab/PosteriorIRF.m index ea421403cc193eecfcd49625f8786d7b28ae809f..d87c99eabfcd5dd628e73f98b14dd851ad9d7643 100644 --- a/matlab/PosteriorIRF.m +++ b/matlab/PosteriorIRF.m @@ -254,9 +254,12 @@ DistribIRF = zeros(options_.irf,9,nvar,M_.exo_nbr); HPDIRF = zeros(options_.irf,2,nvar,M_.exo_nbr); if options_.TeX - varlist_TeX = []; for i=1:nvar - varlist_TeX = strvcat(varlist_TeX,M_.endo_names_tex(IndxVariables(i),:)); + if i==1 + varlist_TeX = M_.endo_names_tex(IndxVariables(i),:); + else + varlist_TeX = char(varlist_TeX,M_.endo_names_tex(IndxVariables(i),:)); + end end end @@ -379,10 +382,15 @@ if options_.TeX if max(abs(MeanIRF(:,j,i))) > 10^(-6) name = deblank(varlist(j,:)); - NAMES = strvcat(NAMES,name); - texname = deblank(varlist_TeX(j,:)); - TEXNAMES = strvcat(TEXNAMES,['$' texname '$']); + + if j==1 + NAMES = name; + TEXNAMES = ['$' texname '$']; + else + NAMES = char(NAMES,name); + TEXNAMES = char(TEXNAMES,['$' texname '$']); + end end end diff --git a/matlab/PosteriorIRF_core2.m b/matlab/PosteriorIRF_core2.m index d3f9b3a898412a4df9d90a5063b6766e5818c5b1..b9bd4bf321c8e1396d9889e17c0a249dc97078ef 100644 --- a/matlab/PosteriorIRF_core2.m +++ b/matlab/PosteriorIRF_core2.m @@ -89,7 +89,6 @@ OutputFileName={}; subplotnum = 0; for i=fpar:npar, - NAMES = []; figunumber = 0; for j=1:nvar @@ -143,7 +142,6 @@ for i=fpar:npar, hold off end name = deblank(varlist(j,:)); - NAMES = strvcat(NAMES,name); title(name,'Interpreter','none') end diff --git a/matlab/disp_identification.m b/matlab/disp_identification.m index 51119f0c2976d225bbe01a6344e9a8752579130f..c54be791d54e9f0d6c2040d1da2e58488bb1537d 100644 --- a/matlab/disp_identification.m +++ b/matlab/disp_identification.m @@ -1,6 +1,6 @@ function disp_identification(pdraws, idemodel, idemoments, disp_pcorr) -% Copyright (C) 2008 Dynare Team +% Copyright (C) 2008-2010 Dynare Team % % This file is part of Dynare. % @@ -89,8 +89,8 @@ for j=1:npar, end -dyntable('Multi collinearity in the model:',strvcat('param','min','mean','max'), ... - strvcat(bayestopt_.name(kok)),[mmin, mmean, mmax],10,10,6); +dyntable('Multi collinearity in the model:',char('param','min','mean','max'), ... + char(bayestopt_.name(kok)),[mmin, mmean, mmax],10,10,6); disp(' ') for j=1:npar, iweak = length(find(idemodel.Mco(j,:)'>(1-1.e-10))); @@ -114,8 +114,8 @@ for j=1:npar, end disp(' ') -dyntable('Multi collinearity for moments in J:',strvcat('param','min','mean','max'), ... - strvcat(bayestopt_.name(kokJ)),[mminJ, mmeanJ, mmaxJ],10,10,6); +dyntable('Multi collinearity for moments in J:',char('param','min','mean','max'), ... + char(bayestopt_.name(kokJ)),[mminJ, mmeanJ, mmaxJ],10,10,6); disp(' ') for j=1:npar, iweak = length(find(idemoments.Mco(j,:)'>(1-1.e-10))); @@ -141,12 +141,12 @@ disp(' ') if disp_pcorr, for j=1:length(kokP), - dyntable([bayestopt_.name{kokP(j)},' pairwise correlations in the model'],strvcat(' ','min','mean','max'), ... - strvcat(bayestopt_.name{jpM{j}}),[pminM{j}' pmeanM{j}' pmaxM{j}'],10,10,3); + dyntable([bayestopt_.name{kokP(j)},' pairwise correlations in the model'],char(' ','min','mean','max'), ... + char(bayestopt_.name{jpM{j}}),[pminM{j}' pmeanM{j}' pmaxM{j}'],10,10,3); end for j=1:length(kokPJ), - dyntable([bayestopt_.name{kokPJ(j)},' pairwise correlations in J moments'],strvcat(' ','min','mean','max'), ... - strvcat(bayestopt_.name{jpJ{j}}),[pminJ{j}' pmeanJ{j}' pmaxJ{j}'],10,10,3); + dyntable([bayestopt_.name{kokPJ(j)},' pairwise correlations in J moments'],char(' ','min','mean','max'), ... + char(bayestopt_.name{jpJ{j}}),[pminJ{j}' pmeanJ{j}' pmaxJ{j}'],10,10,3); end end diff --git a/matlab/disp_model_summary.m b/matlab/disp_model_summary.m index 0ee14f5056f90a566e2b91aba04aece3bc8c5baf..6c9e2c3f32848970192d13e1ce39848c9cd488cb 100644 --- a/matlab/disp_model_summary.m +++ b/matlab/disp_model_summary.m @@ -7,7 +7,7 @@ function disp_model_summary(M,dr) % M [matlab structure] Definition of the model. % dr [matlab structure] Decision rules % -% Copyright (C) 2001-2009 Dynare Team +% Copyright (C) 2001-2010 Dynare Team % % This file is part of Dynare. % @@ -36,7 +36,7 @@ disp([' Number of jumpers: ' ... disp([' Number of static variables: ' int2str(dr.nstatic)]) my_title='MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS'; labels = deblank(M.exo_names); -headers = strvcat('Variables',labels); +headers = char('Variables',labels); lh = size(labels,2)+2; dyntable(my_title,headers,labels,M.Sigma_e,lh,10,6); diff --git a/matlab/disp_moments.m b/matlab/disp_moments.m index d2e51a435e55490e986e4ba2b45fbb2ac8f37489..a2ad56cbb9c8e950c9bf41fa8241535f9e3e4fa6 100644 --- a/matlab/disp_moments.m +++ b/matlab/disp_moments.m @@ -1,7 +1,7 @@ function disp_moments(y,var_list) % Displays moments of simulated variables -% Copyright (C) 2001-2009 Dynare Team +% Copyright (C) 2001-2010 Dynare Team % % This file is part of Dynare. % @@ -62,7 +62,7 @@ if options_.nomoments == 0 title = [title ' (HP filter, lambda = ' ... int2str(options_.hp_filter) ')']; end - headers=strvcat('VARIABLE','MEAN','STD. DEV.','VARIANCE','SKEWNESS', ... + headers=char('VARIABLE','MEAN','STD. DEV.','VARIANCE','SKEWNESS', ... 'KURTOSIS'); dyntable(title,headers,labels,z,size(labels,2)+2,16,6); end @@ -74,7 +74,7 @@ if options_.nocorr == 0 title = [title ' (HP filter, lambda = ' ... int2str(options_.hp_filter) ')']; end - headers = strvcat('VARIABLE',M_.endo_names(ivar,:)); + headers = char('VARIABLE',M_.endo_names(ivar,:)); dyntable(title,headers,labels,corr,size(labels,2)+2,8,4); end @@ -92,7 +92,7 @@ if ar > 0 title = [title ' (HP filter, lambda = ' ... int2str(options_.hp_filter) ')']; end - headers = strvcat('VARIABLE',int2str([1:ar]')); + headers = char('VARIABLE',int2str([1:ar]')); dyntable(title,headers,labels,autocorr,size(labels,2)+2,8,4); end diff --git a/matlab/disp_th_moments.m b/matlab/disp_th_moments.m index 64ca5de32c8da6d2e5c40b0b562ca2060e4e8205..09358b9397f69f22868ad4e40e62b16fc373c432 100644 --- a/matlab/disp_th_moments.m +++ b/matlab/disp_th_moments.m @@ -1,7 +1,7 @@ function disp_th_moments(dr,var_list) % Display theoretical moments of variables -% Copyright (C) 2001-2009 Dynare Team +% Copyright (C) 2001-2010 Dynare Team % % This file is part of Dynare. % @@ -57,7 +57,7 @@ if ~options_.noprint %options_.nomoments == 0 if options_.hp_filter title = [title ' (HP filter, lambda = ' int2str(options_.hp_filter) ')']; end - headers=strvcat('VARIABLE','MEAN','STD. DEV.','VARIANCE'); + headers=char('VARIABLE','MEAN','STD. DEV.','VARIANCE'); labels = deblank(M_.endo_names(ivar,:)); lh = size(labels,2)+2; dyntable(title,headers,labels,z,lh,11,4); @@ -70,7 +70,7 @@ if ~options_.noprint %options_.nomoments == 0 end headers = M_.exo_names; headers(M_.exo_names_orig_ord,:) = headers; - headers = strvcat(' ',headers); + headers = char(' ',headers); lh = size(deblank(M_.endo_names(ivar(stationary_vars),:)),2)+2; dyntable(title,headers,deblank(M_.endo_names(ivar(stationary_vars), ... :)),100*oo_.gamma_y{options_.ar+2}(stationary_vars,:),lh,8,2); @@ -93,7 +93,7 @@ if options_.nocorr == 0 title = [title ' (HP filter, lambda = ' int2str(options_.hp_filter) ')']; end labels = deblank(M_.endo_names(ivar(i1),:)); - headers = strvcat('Variables',labels); + headers = char('Variables',labels); lh = size(labels,2)+2; dyntable(title,headers,labels,corr,lh,8,4); end @@ -111,7 +111,7 @@ if options_.nocorr == 0 title = [title ' (HP filter, lambda = ' int2str(options_.hp_filter) ')']; end labels = deblank(M_.endo_names(ivar(i1),:)); - headers = strvcat('Order ',int2str([1:options_.ar]')); + headers = char('Order ',int2str([1:options_.ar]')); lh = size(labels,2)+2; dyntable(title,headers,labels,z,lh,8,4); end diff --git a/matlab/display_conditional_variance_decomposition.m b/matlab/display_conditional_variance_decomposition.m index 99af1e8df36cb6fe5f9d20e1de9bd4b3e7867833..c4ad9b752741fff8001c16b9d904639c1b4a31f8 100644 --- a/matlab/display_conditional_variance_decomposition.m +++ b/matlab/display_conditional_variance_decomposition.m @@ -65,7 +65,7 @@ for i=1:length(Steps) if options_.noprint == 0 headers = M_.exo_names; headers(M_.exo_names_orig_ord,:) = headers; - headers = strvcat(' ',headers); + headers = char(' ',headers); lh = size(deblank(M_.endo_names(SubsetOfVariables,:)),2)+2; dyntable('',headers,... deblank(M_.endo_names(SubsetOfVariables,:)),... diff --git a/matlab/dr1_sparse.m b/matlab/dr1_sparse.m index 5ec8be77a091dbd33ea324397232efe425d8e6cf..5b0a243442bc331543f6ac122a1e755af58066f8 100644 --- a/matlab/dr1_sparse.m +++ b/matlab/dr1_sparse.m @@ -30,7 +30,7 @@ function [dr,info,M_,options_,oo_] = dr1_sparse(dr,task,M_,options_,oo_) % none. % -% Copyright (C) 1996-2009 Dynare Team +% Copyright (C) 1996-2010 Dynare Team % % This file is part of Dynare. % @@ -175,7 +175,7 @@ if options_.ramsey_policy % $$$ M_.maximum_lead = M_.maximum_lag; % $$$ M_.maximum_endo_lead = M_.maximum_lag; % $$$ -% $$$ M_.endo_names = strvcat(M_.orig_model.endo_names, M_.endo_names(endo_nbr1+k,:)); +% $$$ M_.endo_names = char(M_.orig_model.endo_names, M_.endo_names(endo_nbr1+k,:)); % $$$ M_.endo_nbr = endo_nbr1+length(k); % $$$ end else diff --git a/matlab/dyn_ramsey_dynamic_.m b/matlab/dyn_ramsey_dynamic_.m index 3b44f94956fd475762946f2f83d6e4bd43f9fa15..b23aacad001c7da0bdb36bc3fa93ffe8b4a2edd2 100644 --- a/matlab/dyn_ramsey_dynamic_.m +++ b/matlab/dyn_ramsey_dynamic_.m @@ -13,7 +13,7 @@ function [J,M_] = dyn_ramsey_dynamic_(ys,lbar,M_,options_,oo_,it_) % SPECIAL REQUIREMENTS % none -% Copyright (C) 2003-2009 Dynare Team +% Copyright (C) 2003-2010 Dynare Team % % This file is part of Dynare. % @@ -84,10 +84,10 @@ max_leadlag1 = max_lead1; % adding new variables names endo_names1 = endo_names; % adding shocks to endogenous variables -endo_names1 = strvcat(endo_names1, exo_names); +endo_names1 = char(endo_names1, exo_names); % adding multipliers names for i=1:mult_nbr; - endo_names1 = strvcat(endo_names1,['mult_' int2str(i)]); + endo_names1 = char(endo_names1,['mult_' int2str(i)]); end % expanding matrix of lead/lag incidence diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index acf1f5ebf511675095ebb0962bfc3d2f41558075..e4830a659c48d09bcef3ba1475733202994c7d5a 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -12,7 +12,7 @@ function dynare_estimation_1(var_list_,dname) % SPECIAL REQUIREMENTS % none -% Copyright (C) 2003-2009, 2010 Dynare Team +% Copyright (C) 2003-2010 Dynare Team % % This file is part of Dynare. % @@ -1171,14 +1171,22 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape hold off xlim([1 gend]) name = deblank(M_.exo_names(i,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) end if options_.TeX texname = M_.exo_names_tex(i,1); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') eval(['oo_.SmoothedShocks.' deblank(M_.exo_names(i,:)) ' = innov(i,:)'';']); @@ -1217,7 +1225,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,innov(k,:),'-k','linewidth',1) hold off name = deblank(M_.exo_names(k,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1225,7 +1237,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape xlim([1 gend]) if options_.TeX texname = M_.exo_names_tex(k,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') eval(['oo_.SmoothedShocks.' deblank(name) ' = innov(k,:)'';']); @@ -1265,7 +1281,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,innov(k,:),'-k','linewidth',1) hold off name = deblank(M_.exo_names(k,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1273,7 +1293,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape xlim([1 gend]) if options_.TeX texname = M_.exo_names_tex(k,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') eval(['oo_.SmoothedShocks.' deblank(name) ' = innov(k,:)'';']); @@ -1345,7 +1369,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot([1 gend],[0 0],'-r','linewidth',.5) hold off name = deblank(options_.varobs(index(i),:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1353,7 +1381,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(indx(i),:),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') end @@ -1391,7 +1423,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,measurement_error(index(k),:),'-k','linewidth',1) hold off name = deblank(options_.varobs(index(k),:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1399,8 +1435,12 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(k),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); - end + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end + end title(name,'Interpreter','none') end eval(['print -depsc2 ' M_.fname '_SmoothedObservationErrors' int2str(plt) '.eps']); @@ -1438,7 +1478,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,measurement_error(index(k),:),'-k','linewidth',1) hold off name = deblank(options_.varobs(index(k),:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1446,7 +1490,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(index(k)),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none'); end @@ -1493,7 +1541,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,rawdata(:,i),'-k','linewidth',1) hold off name = deblank(options_.varobs(i,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1502,7 +1554,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(i),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') end @@ -1540,7 +1596,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,rawdata(:,k),'-k','linewidth',1) hold off name = deblank(options_.varobs(k,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1549,7 +1609,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(k),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none') end @@ -1588,7 +1652,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape plot(1:gend,rawdata(:,k),'-k','linewidth',1) hold off name = deblank(options_.varobs(k,:)); - NAMES = strvcat(NAMES,name); + if isempty(NAMES) + NAMES = name; + else + NAMES = char(NAMES,name); + end if ~isempty(options_.XTick) set(gca,'XTick',options_.XTick) set(gca,'XTickLabel',options_.XTickLabel) @@ -1597,7 +1665,11 @@ if (~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape if options_.TeX idx = strmatch(options_.varobs(i),M_.endo_names,'exact'); texname = M_.endo_names_tex(idx,:); - TeXNAMES = strvcat(TeXNAMES,['$ ' deblank(texname) ' $']); + if isempty(TeXNAMES) + TeXNAMES = ['$ ' deblank(texname) ' $']; + else + TeXNAMES = char(TeXNAMES,['$ ' deblank(texname) ' $']); + end end title(name,'Interpreter','none'); end diff --git a/matlab/dyntable.m b/matlab/dyntable.m index 3564b5b84dcc7676bcc098f31caef7db64e99a3f..1daa8923a9f0707f2b1371410612e7815835299f 100644 --- a/matlab/dyntable.m +++ b/matlab/dyntable.m @@ -1,7 +1,7 @@ function dyntable(title,headers,labels,values,label_width,val_width, ... val_precis) -% Copyright (C) 2002-2009 Dynare Team +% Copyright (C) 2002-2010 Dynare Team % % This file is part of Dynare. % @@ -24,7 +24,7 @@ if options_.noprint return end -label_width = max(size(deblank(strvcat(headers(1,:),labels)),2)+2, ... +label_width = max(size(deblank(char(headers(1,:),labels)),2)+2, ... label_width); val_width = max(size(deblank(headers(2:end,:)),2)+2,val_width); label_fmt = sprintf('%%-%ds',label_width); diff --git a/matlab/formdata.m b/matlab/formdata.m index b19345704d120b3f0d0fda61929de4e58285389a..06dba8416a50db447d9a701836b5f9c38e4cfa29 100644 --- a/matlab/formdata.m +++ b/matlab/formdata.m @@ -11,7 +11,7 @@ function formdata(fname,date) % SPECIAL REQUIREMENT % none -% Copyright (C) 2007-2008 Dynare Team +% Copyright (C) 2007-2010 Dynare Team % % This file is part of Dynare. % @@ -34,7 +34,7 @@ n=size(oo_.endo_simul,1); t=size(oo_.endo_simul,2); SN=upper(cellstr(M_.endo_names)); for i=1:n - str=strvcat(SN(i)); + str=char(SN(i)); fprintf(fid,'USER: x x DATAFILE: x %s\n',str); fprintf(fid,'PER: 1 YEAR: %s FRAC: 1 NOBS: %d CLINES: 0 DLINES: ???\n',date,t); fprintf(fid,'%10.5f %10.5f %10.5f %10.5f\n',reshape(oo_.endo_simul(i,1:floor(t/4)*4),floor(t/4),4)); @@ -58,7 +58,7 @@ n=size(oo_.exo_simul,2); t=size(oo_.exo_simul,1); SN=upper(cellstr(M_.exo_names)); for i=1:n - str=strvcat(SN(i)); + str=char(SN(i)); fprintf(fid,'USER: x x DATAFILE: x %s\n',str); fprintf(fid,'PER: 1 YEAR: %s FRAC: 1 NOBS: %d CLINES: 0 DLINES: ???\n',date,t); fprintf(fid,'%10.5f %10.5f %10.5f %10.5f\n',reshape(oo_.exo_simul(1:floor(t/4)*4,i),floor(t/4),4)); diff --git a/matlab/graph_decomp.m b/matlab/graph_decomp.m index 378ca3d8eada7a6f85e571ff15d918fe5c0de54b..6292bae626186607c46103c1b6d12fbab49bb0b3 100644 --- a/matlab/graph_decomp.m +++ b/matlab/graph_decomp.m @@ -69,7 +69,7 @@ for j=1:nvar hold on; y1 = 0; height = 1/comp_nbr; - labels = strvcat(shock_names,'Initial values'); + labels = char(shock_names,'Initial values'); for j=1:comp_nbr fill([0 0 0.2 0.2],[y1 y1+0.7*height y1+0.7*height y1],j); diff --git a/matlab/mode_check.m b/matlab/mode_check.m index d7204c6baf3769b8ce4433052444e61b2f2a8176..383214ee235de46f8dc0f54ad11c675ec11a1fa7 100644 --- a/matlab/mode_check.m +++ b/matlab/mode_check.m @@ -74,8 +74,13 @@ for plt = 1:nbplt, kk = (plt-1)*nstar+k; [name,texname] = get_the_name(kk,TeX); if TeX - NAMES = strvcat(NAMES,name); - TeXNAMES = strvcat(TeXNAMES,texname); + if isempty(NAMES) + NAMES = name; + TeXNAMES = texname; + else + NAMES = char(NAMES,name); + TeXNAMES = char(TeXNAMES,texname); + end end xx = x; l1 = max(lb(kk),0.5*x(kk)); diff --git a/matlab/model_comparison.m b/matlab/model_comparison.m index 0a9eb1c6ac0955aa1c871b8d9e34b65f2912dd5d..fbaf818356485b517acf29584c183ea685b345c6 100644 --- a/matlab/model_comparison.m +++ b/matlab/model_comparison.m @@ -12,7 +12,7 @@ function PosteriorOddsTable = model_comparison(ModelNames,ModelPriors,oo,options % SPECIAL REQUIREMENTS % none -% Copyright (C) 2007-2008 Dynare Team +% Copyright (C) 2007-2010 Dynare Team % % This file is part of Dynare. % @@ -94,14 +94,14 @@ elmpd = exp(lmpd-maxval); % Now I display the posterior probabilities. title = 'Model Comparison'; -headers = strvcat('Model',ShortModelNames{:}); +headers = char('Model',ShortModelNames{:}); if prior_flag - labels = strvcat('Priors','Log Marginal Density','Bayes Ratio', ... + labels = char('Priors','Log Marginal Density','Bayes Ratio', ... 'Posterior Model Probability'); values = [ModelPriors';MarginalLogDensity';exp(lmpd-lmpd(1))'; ... elmpd'/sum(elmpd)]; else - labels = strvcat('Priors','Log Marginal Density','Bayes Ratio','Posterior Odds Ratio', ... + labels = char('Priors','Log Marginal Density','Bayes Ratio','Posterior Odds Ratio', ... 'Posterior Model Probability'); values = [ModelPriors';MarginalLogDensity'; exp(MarginalLogDensity-MarginalLogDensity(1))'; ... exp(lmpd-lmpd(1))'; elmpd'/sum(elmpd)]; diff --git a/matlab/mult_elimination.m b/matlab/mult_elimination.m index 8c9fbf53b8ebe37d020c3b8f75d072779529024e..31d1769180858d470d86b645c030323125a95ae8 100644 --- a/matlab/mult_elimination.m +++ b/matlab/mult_elimination.m @@ -107,7 +107,7 @@ function dr=mult_elimination(varlist,M_, options_, oo_) headers = 'Variables'; for i=1:length(varlist) k = strmatch(varlist{i},M_.endo_names(dr.order_var,:),'exact'); - headers = strvcat(headers,varlist{i}); + headers = char(headers,varlist{i}); res_table(1:nspred,i) = M1(k,:)'; res_table(nspred+(1:nspred),i) = M2(k,:)'; @@ -117,7 +117,7 @@ function dr=mult_elimination(varlist,M_, options_, oo_) my_title='ELIMINATION OF THE MULTIPLIERS'; lab1 = M_.endo_names(dr.order_var(dr.nstatic+[ 1 2 5:8]),:); - labels = strvcat(lab1,lab1,M_.exo_names,M_.exo_names); + labels = char(lab1,lab1,M_.exo_names,M_.exo_names); lh = size(labels,2)+2; dyntable(my_title,headers,labels,res_table,lh,10,6); disp(' ') diff --git a/matlab/partial_information/PCL_Part_info_moments.m b/matlab/partial_information/PCL_Part_info_moments.m index 0dea34f3a7baad561bda7af976b640c08a70e072..b68b3d17d3b9f1454c91c110405e43ba8b847e48 100644 --- a/matlab/partial_information/PCL_Part_info_moments.m +++ b/matlab/partial_information/PCL_Part_info_moments.m @@ -149,7 +149,7 @@ function AutoCOR_YRk=PCL_Part_info_irmoments( H, varobs, dr,ivar) if options_.nomoments == 0 z = [ sqrt(diagCovYR0(ivar)) diagCovYR0(ivar) ]; title='THEORETICAL MOMENTS'; - headers=strvcat('VARIABLE','STD. DEV.','VARIANCE'); + headers=char('VARIABLE','STD. DEV.','VARIANCE'); dyntable(title,headers,labels,z,size(labels,2)+2,16,10); end if options_.nocorr == 0 @@ -157,7 +157,7 @@ function AutoCOR_YRk=PCL_Part_info_irmoments( H, varobs, dr,ivar) DELTA=inv(diag(diagSqrtCovYR0)); COR_Y= DELTA*COV_YR0*DELTA; title = 'MATRIX OF CORRELATION'; - headers = strvcat('VARIABLE',M_.endo_names(ivar,:)); + headers = char('VARIABLE',M_.endo_names(ivar,:)); dyntable(title,headers,labels,COR_Y(ivar,ivar),size(labels,2)+2,8,4); else COR_Y=[]; @@ -178,7 +178,7 @@ function AutoCOR_YRk=PCL_Part_info_irmoments( H, varobs, dr,ivar) AutoCOR_YRk(:,k)= diag(COV_YRk)./diagCovYR0; end title = 'COEFFICIENTS OF AUTOCORRELATION'; - headers = strvcat('VARIABLE',int2str([1:ar]')); + headers = char('VARIABLE',int2str([1:ar]')); dyntable(title,headers,labels,AutoCOR_YRk(ivar,:),size(labels,2)+2,8,4); else AutoCOR_YRk=[]; diff --git a/matlab/plot_priors.m b/matlab/plot_priors.m index c03a79605bcc7f4c28c4287bbb192b237d032bb8..c3bd2fc43a4796a763aca4a81ae7bfd343dbb526 100644 --- a/matlab/plot_priors.m +++ b/matlab/plot_priors.m @@ -13,7 +13,7 @@ function plot_priors(bayestopt_,M_,options_) % SPECIAL REQUIREMENTS % None -% Copyright (C) 2004-2009 Dynare Team +% Copyright (C) 2004-2010 Dynare Team % % This file is part of Dynare. % @@ -52,8 +52,13 @@ if nbplt == 1 [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); [nam,texnam] = get_the_name(i,TeX); if TeX - TeXNAMES = strvcat(TeXNAMES,texnam); - NAMES = strvcat(NAMES,nam); + if i==1 + TeXNAMES = texnam; + NAMES = nam; + else + TeXNAMES = char(TeXNAMES,texnam); + NAMES = char(NAMES,nam); + end end subplot(nr,nc,i) hh = plot(x,f,'-k','linewidth',2); @@ -95,9 +100,14 @@ else [nam,texnam] = get_the_name(i,TeX); [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); if TeX - TeXNAMES = strvcat(TeXNAMES,texnam); - NAMES = strvcat(NAMES,nam); - end + if index==1 + TeXNAMES = texnam; + NAMES = nam; + else + TeXNAMES = char(TeXNAMES,texnam); + NAMES = char(NAMES,nam); + end + end subplot(nr,nc,index) hh = plot(x,f,'-k','linewidth',2); set(hh,'color',[0.7 0.7 0.7]); @@ -134,8 +144,13 @@ else [x,f,abscissa,dens,binf,bsup] = draw_prior_density(i,bayestopt_); [nam,texnam] = get_the_name(i,TeX); if TeX - TeXNAMES = strvcat(TeXNAMES,texnam); - NAMES = strvcat(NAMES,nam); + if index==1 + TeXNAMES = texnam; + NAMES = nam; + else + TeXNAMES = char(TeXNAMES,texnam); + NAMES = char(NAMES,nam); + end end if lr subplot(lc,lr,index); diff --git a/matlab/pm3.m b/matlab/pm3.m index 7d23e8703ad31715e946a83dec8d18f1b9bee26d..4fafacc7f885596803a0402c8cab242e4c7b6f1a 100644 --- a/matlab/pm3.m +++ b/matlab/pm3.m @@ -43,7 +43,11 @@ if options_.TeX % needs to be fixed varlist_TeX = []; for i=1:nvar - varlist_TeX = strvcat(varlist_TeX,M_.endo_names_tex(SelecVariables(i),:)); + if i==1 + varlist_TeX = M_.endo_names_tex(SelecVariables(i),:); + else + varlist_TeX = char(varlist_TeX,M_.endo_names_tex(SelecVariables(i),:)); + end end end Mean = zeros(n2,nvar); @@ -107,9 +111,9 @@ if options_.TeX if max(abs(Mean(:,i))) > 10^(-6) subplotnum = subplotnum+1; name = deblank(varlist(i,:)); - NAMES = strvcat(NAMES,name); + NAMES = name; texname = deblank(varlist_TeX(i,:)); - TEXNAMES = strvcat(TEXNAMES,['$' texname '$']); + TEXNAMES = ['$' texname '$']; end if subplotnum == MaxNumberOfPlotsPerFigure | i == nvar fprintf(fidTeX,'\\begin{figure}[H]\n'); diff --git a/matlab/pm3_core.m b/matlab/pm3_core.m index 5cc2ecffac2cf5ce4c59aad1806bb30d7674adfe..b8fe18c337d656663bf652a146ed4cd3a125bfa4 100644 --- a/matlab/pm3_core.m +++ b/matlab/pm3_core.m @@ -85,7 +85,6 @@ end OutputFileName = {}; for i=fpar:nvar - NAMES = []; if max(abs(Mean(:,i))) > 10^(-6) subplotnum = subplotnum+1; set(0,'CurrentFigure',hh) @@ -99,7 +98,6 @@ for i=fpar:nvar xlim([1 n2]); hold off name = deblank(varlist(i,:)); - NAMES = strvcat(NAMES,name); title(name,'Interpreter','none') end diff --git a/matlab/read_data_.m b/matlab/read_data_.m index 5d67d4d3f80c0bb4b2be3de64d07ce74f2245b63..db520b2971bd19d6829ba45edaa41946731c2487 100644 --- a/matlab/read_data_.m +++ b/matlab/read_data_.m @@ -12,7 +12,7 @@ function read_data_ % SPECIAL REQUIREMENT % none -% Copyright (C) 2007-2008 Dynare Team +% Copyright (C) 2007-2010 Dynare Team % % This file is part of Dynare. % @@ -39,7 +39,11 @@ if size(oo_.endo_simul,2) < M_.maximum_lag+M_.maximum_lead+options_.periods positions = ones(0); while (any(names_line)) [chopped,names_line] = strtok(names_line); - allVariables = strvcat(allVariables, chopped); + if isempty(allVariables) + allVariables = chopped; + else + allVariables = char(allVariables, chopped); + end positions = [positions ; strmatch(chopped,M_.endo_names,'exact')]; end Values=fscanf(fid,'%f',inf); @@ -55,7 +59,11 @@ if size(oo_.exo_simul,1) < M_.maximum_lag+M_.maximum_lead+options_.periods positions = ones(0); while (any(names_line)) [chopped,names_line] = strtok(names_line); - allVariables = strvcat(allVariables, chopped); + if isempty(allVariables) + allVariables = chopped; + else + allVariables = char(allVariables, chopped); + end positions = [positions ; strmatch(chopped,M_.exo_names,'exact')]; end Values=fscanf(fid,'%f',inf); diff --git a/matlab/set_prior.m b/matlab/set_prior.m index 3f4151f5df6a82293a4c3295b1de1aa3b9fe66e0..54bad222450a0aa49f4e400acbb5e2618774d7a1 100644 --- a/matlab/set_prior.m +++ b/matlab/set_prior.m @@ -90,7 +90,11 @@ if nvn bayestopt_.p3 = [ bayestopt_.p3; estim_params_.var_endo(:,8)]; bayestopt_.p4 = [ bayestopt_.p4; estim_params_.var_endo(:,9)]; bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.var_endo(:,10)]; - bayestopt_.name = cellstr(strvcat(char(bayestopt_.name), options_.varobs(estim_params_.var_endo(:,1),:))); + if isempty(bayestopt_.name) + bayestopt_.name = cellstr(char(options_.varobs(estim_params_.var_endo(:,1),:))); + else + bayestopt_.name = cellstr(char(char(bayestopt_.name), options_.varobs(estim_params_.var_endo(:,1),:))); + end end if ncx xparam1 = [xparam1; estim_params_.corrx(:,3)]; @@ -102,8 +106,13 @@ if ncx bayestopt_.p3 = [ bayestopt_.p3; estim_params_.corrx(:,9)]; bayestopt_.p4 = [ bayestopt_.p4; estim_params_.corrx(:,10)]; bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.corrx(:,11)]; - bayestopt_.name = cellstr(strvcat(char(bayestopt_.name), char(strcat(cellstr(M_.exo_names(estim_params_.corrx(:,1),:)), ... - ',' , cellstr(M_.exo_names(estim_params_.corrx(:,2),:)))))); + if isempty(bayestopt_.name) + bayestopt_.name = cellstr(char(char(strcat(cellstr(M_.exo_names(estim_params_.corrx(:,1),:)), ... + ',' , cellstr(M_.exo_names(estim_params_.corrx(:,2),:)))))); + else + bayestopt_.name = cellstr(char(char(bayestopt_.name), char(strcat(cellstr(M_.exo_names(estim_params_.corrx(:,1),:)), ... + ',' , cellstr(M_.exo_names(estim_params_.corrx(:,2),:)))))); + end end if ncn if M_.H == 0 @@ -119,8 +128,13 @@ if ncn bayestopt_.p3 = [ bayestopt_.p3; estim_params_.corrn(:,9)]; bayestopt_.p4 = [ bayestopt_.p4; estim_params_.corrn(:,10)]; bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.corrn(:,11)]; - bayestopt_.name = cellstr(strvcat(char(bayestopt_.name), char(strcat(cellstr(M_.endo_names(estim_params_.corrn(:,1),:)),... - ',' , cellstr(M_.endo_names(estim_params_.corrn(:,2),:)))))); + if isempty(bayestopt_.name) + bayestopt_.name = cellstr(char(char(strcat(cellstr(M_.endo_names(estim_params_.corrn(:,1),:)),... + ',' , cellstr(M_.endo_names(estim_params_.corrn(:,2),:)))))); + else + bayestopt_.name = cellstr(char(char(bayestopt_.name), char(strcat(cellstr(M_.endo_names(estim_params_.corrn(:,1),:)),... + ',' , cellstr(M_.endo_names(estim_params_.corrn(:,2),:)))))); + end end if np xparam1 = [xparam1; estim_params_.param_vals(:,2)]; @@ -132,7 +146,11 @@ if np bayestopt_.p3 = [ bayestopt_.p3; estim_params_.param_vals(:,8)]; bayestopt_.p4 = [ bayestopt_.p4; estim_params_.param_vals(:,9)]; bayestopt_.jscale = [ bayestopt_.jscale; estim_params_.param_vals(:,10)]; - bayestopt_.name = cellstr(strvcat(char(bayestopt_.name),M_.param_names(estim_params_.param_vals(:,1),:))); + if isempty(bayestopt_.name) + bayestopt_.name = cellstr(char(M_.param_names(estim_params_.param_vals(:,1),:))); + else + bayestopt_.name = cellstr(char(char(bayestopt_.name),M_.param_names(estim_params_.param_vals(:,1),:))); + end end bayestopt_.ub = ub; diff --git a/matlab/set_stationary_variables_list.m b/matlab/set_stationary_variables_list.m index ad83699243223e4c3fa5d46db87d3f4f8fcdab44..e535c934a154154e9158e8804675460650cba761 100644 --- a/matlab/set_stationary_variables_list.m +++ b/matlab/set_stationary_variables_list.m @@ -17,7 +17,7 @@ function [ivar,vartan,options_] = set_stationary_variables_list(options_,M_) % SPECIAL REQUIREMENTS % None. -% Copyright (C) 2007-2009 Dynare Team +% Copyright (C) 2007-2010 Dynare Team % % This file is part of Dynare. % @@ -44,7 +44,11 @@ if ~isempty(options_.unit_root_vars) vartan = []; for i=1:nvar if isempty(strmatch(deblank(varlist(i,:)),options_.unit_root_vars,'exact')) - vartan = strvcat(vartan,varlist(i,:)); + if isempty(vartan) + vartan = varlist(i,:); + else + vartan = char(vartan,varlist(i,:)); + end end end else diff --git a/matlab/simulated_moments_estimation.m b/matlab/simulated_moments_estimation.m index e328b58707540f328b0a4e392e0e8fae10fe5475..0fd9e4ff4ee0421d4838754438a2c5af0dd8cf47 100644 --- a/matlab/simulated_moments_estimation.m +++ b/matlab/simulated_moments_estimation.m @@ -54,15 +54,18 @@ options.estimated_parameters.list = []; xparam = []; if ~isempty(estim_params_.var_exo) options.estimated_variances.idx = estim_params_.var_exo(:,1); - options.estimated_parameters.list = strvcat(options.estimated_parameters.list,... - M_.exo_names(options.estimated_variances.idx,:)); + options.estimated_parameters.list = char(M_.exo_names(options.estimated_variances.idx,:)); options.estimated_parameters.nv = rows(estim_params_.var_exo); xparam = [xparam; estim_params_.var_exo(:,2)]; end if ~isempty(estim_params_.param_vals) options.estimated_parameters.idx = estim_params_.param_vals(:,1); - options.estimated_parameters.list = strvcat(options.estimated_parameters.list,... - M_.param_names(options.estimated_parameters.idx,:)); + if isempty(options.estimated_parameters.list) + options.estimated_parameters.list = char(M_.param_names(options.estimated_parameters.idx,:)); + else + options.estimated_parameters.list = char(options.estimated_parameters.list,... + M_.param_names(options.estimated_parameters.idx,:)); + end options.estimated_parameters.np = rows(estim_params_.param_vals); xparam = [xparam; estim_params_.param_vals(:,2)]; end diff --git a/matlab/stoch_simul.m b/matlab/stoch_simul.m index 53977a21555961ee65610131fba793b58287c66e..024a10a26d5f8b48d46b228058b584f05e30bfa5 100644 --- a/matlab/stoch_simul.m +++ b/matlab/stoch_simul.m @@ -79,7 +79,7 @@ if ~options_.noprint disp([' Number of static variables: ' int2str(oo_.dr.nstatic)]) my_title='MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS'; labels = deblank(M_.exo_names); - headers = strvcat('Variables',labels); + headers = char('Variables',labels); lh = size(labels,2)+2; dyntable(my_title,headers,labels,M_.Sigma_e,lh,10,6); if options_.partial_information @@ -166,9 +166,17 @@ if options_.irf deblank(M_.exo_names(i,:)) ' = y(i_var(j),:);']); if max(y(i_var(j),:)) - min(y(i_var(j),:)) > 1e-10 irfs = cat(1,irfs,y(i_var(j),:)); - mylist = strvcat(mylist,deblank(var_list(j,:))); + if isempty(mylist) + mylist = deblank(var_list(j,:)); + else + mylist = char(mylist,deblank(var_list(j,:))); + end if TeX - mylistTeX = strvcat(mylistTeX,deblank(var_listTeX(j,:))); + if isempty(mylistTeX) + mylistTeX = deblank(var_listTeX(j,:)); + else + mylistTeX = char(mylistTeX,deblank(var_listTeX(j,:))); + end end end end diff --git a/matlab/stoch_simul_sparse.m b/matlab/stoch_simul_sparse.m index 06a1e2b6d5304f72d15c4a4b25182ca17f84a8c6..6f2e45cef0995f65be8f6c25756072a05ffbcbc6 100644 --- a/matlab/stoch_simul_sparse.m +++ b/matlab/stoch_simul_sparse.m @@ -1,7 +1,7 @@ function info=stoch_simul_sparse(var_list) % This file is a modified version of stoch_simul.m: common parts should be factorized! -% Copyright (C) 2001-2009 Dynare Team +% Copyright (C) 2001-2010 Dynare Team % % This file is part of Dynare. % @@ -66,7 +66,7 @@ if ~options_.noprint disp([' Number of static variables: ' int2str(oo_dr_nstatic)]) my_title='MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS'; labels = deblank(M_.exo_names); - headers = strvcat('Variables',labels); + headers = char('Variables',labels); lh = size(labels,2)+2; dyntable(my_title,headers,labels,M_.Sigma_e,lh,10,6); disp(' ') @@ -111,7 +111,11 @@ if options_.irf else ivar(i) = i_tmp; if TeX - var_listTeX = strvcat(var_listTeX,deblank(M_.endo_names_tex(i_tmp,:))); + if isempty(var_listTeX) + var_listTeX = deblank(M_.endo_names_tex(i_tmp,:)); + else + var_listTeX = char(var_listTeX,deblank(M_.endo_names_tex(i_tmp,:))); + end end end end @@ -148,9 +152,17 @@ if options_.irf deblank(M_.exo_names(i,:)) ' = y(ivar(j),:);']); if max(y(ivar(j),:)) - min(y(ivar(j),:)) > 1e-10 irfs = cat(1,irfs,y(ivar(j),:)); - mylist = strvcat(mylist,deblank(var_list(j,:))); + if isempty(mylist) + mylist = deblank(var_list(j,:)); + else + mylist = char(mylist,deblank(var_list(j,:))); + end if TeX - mylistTeX = strvcat(mylistTeX,deblank(var_listTeX(j,:))); + if isempty(mylistTeX) + mylistTeX = deblank(var_listTeX(j,:)); + else + mylistTeX = char(mylistTeX,deblank(var_listTeX(j,:))); + end end end end diff --git a/preprocessor/Shocks.cc b/preprocessor/Shocks.cc index dc66b7c192fce0c5e7087abed45024dfb3f64305..750b93679c9dab4268eaf34a203fe74edeaa2e74 100644 --- a/preprocessor/Shocks.cc +++ b/preprocessor/Shocks.cc @@ -288,7 +288,11 @@ ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &ba for (AbstractShocksStatement::det_shocks_t::const_iterator it = paths.begin(); it != paths.end(); it++) { - output << "constrained_vars_ = strvcat(constrained_vars_, '" << it->first << "');" << endl; + if (it == paths.begin()) + output << "constrained_vars_ = '" << it->first << "';" << endl; + else + output << "constrained_vars_ = char(constrained_vars_, '" << it->first << "');" << endl; + const vector<AbstractShocksStatement::DetShockElement> &elems = it->second; for (int i = 0; i < (int) elems.size(); i++) for (int j = elems[i].period1; j <= elems[i].period2; j++) diff --git a/preprocessor/SymbolList.cc b/preprocessor/SymbolList.cc index 24f3df58da2110d44d2a204895c14f2841339114..af4c19114413c62466bc4f71dfa1b1051e2e1da7 100644 --- a/preprocessor/SymbolList.cc +++ b/preprocessor/SymbolList.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2008 Dynare Team + * Copyright (C) 2003-2010 Dynare Team * * This file is part of Dynare. * @@ -31,7 +31,10 @@ SymbolList::writeOutput(const string &varname, ostream &output) const output << varname << "=[];" << endl; for (vector<string>::const_iterator it = symbols.begin(); it != symbols.end(); it++) - output << varname << " = strvcat(" << varname << ", '" << *it << "');" << endl; + if (it == symbols.begin()) + output << varname << " = '" << *it << "';" << endl; + else + output << varname << " = char(" << varname << ", '" << *it << "');" << endl; } void diff --git a/preprocessor/SymbolTable.cc b/preprocessor/SymbolTable.cc index 2db56ae42d578b985dcce4c86193b35927cf147a..a1e0d0b1f46d31173554367a18f97ce0504ab29d 100644 --- a/preprocessor/SymbolTable.cc +++ b/preprocessor/SymbolTable.cc @@ -169,8 +169,8 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException) output << "M_.exo_names_tex = '" << getTeXName(exo_ids[0]) << "';" << endl; for (int id = 1; id < exo_nbr(); id++) { - output << "M_.exo_names = strvcat(M_.exo_names, '" << getName(exo_ids[id]) << "');" << endl - << "M_.exo_names_tex = strvcat(M_.exo_names_tex, '" << getTeXName(exo_ids[id]) << "');" << endl; + output << "M_.exo_names = char(M_.exo_names, '" << getName(exo_ids[id]) << "');" << endl + << "M_.exo_names_tex = char(M_.exo_names_tex, '" << getTeXName(exo_ids[id]) << "');" << endl; } } if (exo_det_nbr() > 0) @@ -179,8 +179,8 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException) output << "M_.exo_det_names_tex = '" << getTeXName(exo_det_ids[0]) << "';" << endl; for (int id = 1; id < exo_det_nbr(); id++) { - output << "M_.exo_det_names = strvcat(M_.exo_det_names, '" << getName(exo_det_ids[id]) << "');" << endl - << "M_.exo_det_names_tex = strvcat(M_.exo_det_names_tex, '" << getTeXName(exo_det_ids[id]) << "');" << endl; + output << "M_.exo_det_names = char(M_.exo_det_names, '" << getName(exo_det_ids[id]) << "');" << endl + << "M_.exo_det_names_tex = char(M_.exo_det_names_tex, '" << getTeXName(exo_det_ids[id]) << "');" << endl; } } if (endo_nbr() > 0) @@ -189,8 +189,8 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException) output << "M_.endo_names_tex = '" << getTeXName(endo_ids[0]) << "';" << endl; for (int id = 1; id < endo_nbr(); id++) { - output << "M_.endo_names = strvcat(M_.endo_names, '" << getName(endo_ids[id]) << "');" << endl - << "M_.endo_names_tex = strvcat(M_.endo_names_tex, '" << getTeXName(endo_ids[id]) << "');" << endl; + output << "M_.endo_names = char(M_.endo_names, '" << getName(endo_ids[id]) << "');" << endl + << "M_.endo_names_tex = char(M_.endo_names_tex, '" << getTeXName(endo_ids[id]) << "');" << endl; } } if (param_nbr() > 0) @@ -199,8 +199,8 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException) output << "M_.param_names_tex = '" << getTeXName(param_ids[0]) << "';" << endl; for (int id = 1; id < param_nbr(); id++) { - output << "M_.param_names = strvcat(M_.param_names, '" << getName(param_ids[id]) << "');" << endl - << "M_.param_names_tex = strvcat(M_.param_names_tex, '" << getTeXName(param_ids[id]) << "');" << endl; + output << "M_.param_names = char(M_.param_names, '" << getName(param_ids[id]) << "');" << endl + << "M_.param_names_tex = char(M_.param_names_tex, '" << getTeXName(param_ids[id]) << "');" << endl; if (getName(param_ids[id]) == "dsge_prior_weight") output << "options_.dsge_var = 1;" << endl; @@ -252,7 +252,10 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException) output << "options_.varobs = [];" << endl; for (vector<int>::const_iterator it = varobs.begin(); it != varobs.end(); it++) - output << "options_.varobs = strvcat(options_.varobs, '" << getName(*it) << "');" << endl; + if (it == varobs.begin()) + output << "options_.varobs = '" << getName(*it) << "';" << endl; + else + output << "options_.varobs = char(options_.varobs, '" << getName(*it) << "');" << endl; output << "options_.varobs_id = [ "; for (vector<int>::const_iterator it = varobs.begin();