0001 function plot_ms_probabilities(computed_probabilities, options_)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 [T,num_grand_regimes] = size(computed_probabilities);
0032 num_chains = length(options_.ms.ms_chain);
0033 for i=1:num_chains
0034 chains(i).num_regimes = length(options_.ms.ms_chain(i).regime);
0035 chains(i).probabilities = zeros([T,chains(i).num_regimes]);
0036 end
0037
0038 for t=1:T
0039 chains = iterate_chain(computed_probabilities(t,:), t, chains, 1, num_chains);
0040 end
0041
0042 for i=1:num_chains
0043 graph_name = ['MS-Probabilities, Chain ' int2str(i)];
0044 figure('Name',graph_name)
0045 plot(chains(i).probabilities,'LineWidth', 1.2);
0046 ltxt = {};
0047 for j=1:chains(i).num_regimes
0048 ltxt{j} = ['Regime ' int2str(j)];
0049 end
0050 legend(ltxt{:});
0051 title(['Chain ' int2str(i)]);
0052 ylim([0 1.0]);
0053 dyn_save_graph([options_.ms.output_file_tag filesep 'Output' filesep 'Probabilities'], ['MS-Probabilities-Chain-' int2str(i)], ...
0054 options_.graph_save_formats,options_.TeX,[],[],graph_name);
0055 end
0056 end
0057
0058 function [chains] = iterate_chain(probs, t, chains, chain, num_chains)
0059 offset_length = length(probs)/chains(chain).num_regimes;
0060 for i=1:chains(chain).num_regimes
0061 p = probs( (i-1)*offset_length+1 : i*offset_length );
0062 chains(chain).probabilities(t, i) = chains(chain).probabilities(t, i) + sum( p );
0063 if chain < num_chains
0064 chains = iterate_chain(p, t, chains, chain+1, num_chains);
0065 end
0066 end
0067 end