1%% plot distance function
18 if strcmpi(PH{i,4},
'exact')
19 ord_exact(end+1) = length(PH{i,1}{1});
20 dist_exact(end+1) = PH{i,2};
21 mom_exact(end+1,1:length(E)) = map_moment(PH{i,1},1:length(E));
22 if best_exact_pos == 0 || best_exact > dist_exact(end)
23 best_exact = dist_exact(end);
25 best_exact_relpos = length(ord_exact);
27 elseif strcmpi(PH{i,4},
'approx_param_space')
28 ord_apxps(end+1) = length(PH{i,1}{1});
29 dist_apxps(end+1) = PH{i,2};
30 mom_apxps(end+1,1:length(E)) = map_moment(PH{i,1},1:length(E));
31 if best_apxps_pos == 0 || best_apxps > dist_apxps(end)
32 best_apxps = dist_apxps(end);
34 best_apxps_relpos = length(ord_apxps);
36 elseif strcmpi(PH{i,4},
'approx_moment_space')
37 ord_apxms(end+1) = length(PH{i,1}{1});
38 dist_apxms(end+1) = PH{i,2};
39 mom_apxms(end+1,1:length(E)) = map_moment(PH{i,1},1:length(E));
40 if best_apxms_pos == 0 || best_apxms > dist_apxms(end)
41 best_apxms = dist_apxms(end);
43 best_apxms_relpos = length(ord_apxms);
48% loglog(ord_exact,dist_exact,
'x-');
50% loglog(ord_apxms,dist_apxms,
'o-');
51% loglog(ord_apxps,dist_apxps,
'*-');
53% ylabel(
'moment set distance')
54% xlabel(
'number of states (PH order)')
55% xlim([min([ord_exact,ord_apxms,ord_apxps]/2),max([ord_exact,ord_apxms,ord_apxps]*2)])
56% legend(sprintf(
'best exact mom. match (idx=%d)',best_exact_pos), sprintf(
'best approx - mom. space (idx=%d)',best_apxps_pos), sprintf(
'best approx - param. space (idx=%d)',best_apxms_pos),
'Location',
'Best')
59fprintf(
'Log10\tTRACE ',j)
60for j=1:length(ord_exact)
61 fprintf(
'\tEXMM (idx=%d) ',j)
63for j=1:length(ord_apxms)
64 fprintf(
'\tAPXMS (idx=%d) ',length(ord_exact)+j)
66for j=1:length(ord_apxps)
67 fprintf(
'\tAPXPS (idx=%d) ',length(ord_exact)+length(ord_apxms)+j)
73 fprintf('\nE[X^%d]',k)
75 fprintf('\t%13d',log10(E(k)))
76 for j=1:length(ord_exact)
77 fprintf('\t%13d',log10(mom_exact(j,k)))
79 for j=1:length(ord_apxms)
80 fprintf('\t%13d',log10(mom_apxms(j,k)+eps))
82 for j=1:length(ord_apxps)
83 fprintf('\t%13d',log10(mom_apxps(j,k)+eps))
89plot(1:length(E),log(E),'k-')
91if exist('best_exact_relpos')
92plot(1:length(E),log(mom_exact(best_exact_relpos,1:length(E))),'x')
94if exist('best_apxms_relpos')
95plot(1:length(E),log(mom_apxms(best_apxms_relpos,1:length(E))),'o')
97if exist('best_apxps_relpos')
98plot(1:length(E),log(mom_apxps(best_apxps_relpos,1:length(E))),'d')
101xlabel('moment order k')
102legend('trace', sprintf('best exact mom. match (idx=%d)',best_exact_pos), sprintf('best approx - mom. space (idx=%d)',best_apxms_pos), sprintf('best approx - param. space (idx=%d)',best_apxps_pos), 'Location', 'Best')