List of commits:
Subject Hash Author Date (UTC)
Add options to plot_cuts: wrap legend title, switch number format in legend 6b4df721198584fe4a0f24d64f6666a2c319845c Jason Hoelscher-Obermaier 2017-04-18 07:54:22
Add support for parallel computation to run_simulation_evaluation_direct.m 79e020013e744be9353a48c49998345533218007 Jason Hoelscher-Obermaier 2017-04-13 15:15:07
Speed up calculation of entanglement from simulation streams. 4fe4db313d502c3694cfcf6770b41387afdbbc19 Jason Hoelscher-Obermaier 2017-04-12 13:06:31
Fix inconsistent code style in repo (only *.m-files) 1a87b28a285ad84af1836154f80761430554700c Jason Hoelscher-Obermaier 2017-04-12 10:36:03
Set default code style using .editorconfig in root of repository 83719dc571b5a4fce247907ea50fdb5841b5d5f6 Jason Hoelscher-Obermaier 2017-04-12 09:18:43
Refactor calculatePulsedQuadratures to prepare for increased efficiency... 7247ee11d4e93ab24f5c38d49e135ac283855f1b Jason Hoelscher-Obermaier 2017-04-12 08:44:18
Decrease verbosity: suppress output from pdfcrop in meta_ev.m f51caf728c9e727ea7036d1066ed5638d5f5adef Jason Hoelscher-Obermaier 2017-04-12 08:41:23
Try to suppress display of figures in meta_ev_test.m (unsuccessful) c87cedfa3c1e53a8f25ad8c4119704c8bdfe9b2f Jason Hoelscher-Obermaier 2017-04-11 09:22:12
Add class dual_homo_simulation which emulates a dual_homo_measurement but with simulated traces 41792061b163af8e7d57738c19382409e0321190 Jason Hoelscher-Obermaier 2017-04-10 11:07:24
Turn off warning regarding default_sample_no in PXItrace 0c6322c334c051e08198ba79ca85170ebd5e8e12 Jason Hoelscher-Obermaier 2017-04-10 11:04:03
Fix num2eng.m: correct display of 0 (w. tolerance of +-eps) and +-inf. 6345574b61460fec8dd19832056d6273a07f23e9 Jason Hoelscher-Obermaier 2017-04-10 10:44:17
Extend functionality of method 'plot_cuts' of class 'meta_ev' af350f1084ba30f3f56f70367b8dd7ea3071f1a9 Jason Hoelscher-Obermaier 2017-04-08 16:30:56
Bug fix in num2eng.m: Input 0 (or +/- eps) will now yield '0' as expected 7ab33199240f75e7013223cddf02e69cd83e3272 Jason Hoelscher-Obermaier 2017-04-08 16:27:52
Refactor meta_ev: move plotting methods to separate files. 6e5df82a5739d8f1ef7a209822f7a448ced1721c Jason Hoelscher-Obermaier 2017-04-08 09:27:21
Additional options for method plot_cuts in meta_ev.m eabae3d9b5b934c5b9d56396374cfdd6c9f5ed3f Jason Hoelscher-Obermaier 2017-04-08 08:53:29
Add class homotrace_simulated as wrapper around homotrace if simulation-data-streams are to be used... b09e4d8431e7784d3021ae949edd557291c8d482 Jason Hoelscher-Obermaier 2017-04-06 14:56:34
Replace unnecessary switch-expression in assert_consistency_of_varargin by isequal-test 0c946942de73edb17b0d1f7b62748b9c8f0a98d0 Jason Hoelscher-Obermaier 2017-04-06 14:27:26
Improve default color order for line plots 336545a7441b6b575ab47ef655377514207cd69b Jason Hoelscher-Obermaier 2017-04-07 21:40:27
Add method "plot_cuts" to meta_ev... d92ade078a2b85f08312fe9524d9dc2097c6aff6 Jason Hoelscher-Obermaier 2017-04-07 20:57:41
Add method filter_params to meta_ev.m a9b063dc0c5858ba211dafe6c78cbe49bf5063d5 Jason Hoelscher-Obermaier 2017-04-07 18:03:54
Commit 6b4df721198584fe4a0f24d64f6666a2c319845c - Add options to plot_cuts: wrap legend title, switch number format in legend
Author: Jason Hoelscher-Obermaier
Author date (UTC): 2017-04-18 07:54
Committer name: Jason Hoelscher-Obermaier
Committer date (UTC): 2017-04-18 07:54
Parent(s): 79e020013e744be9353a48c49998345533218007
Signing key:
Tree: b56cf1663e1091461c180e7a05ba6f2e1a053c93
File Lines added Lines deleted
data_analysis/@meta_ev/plot_cuts.m 24 3
misc/3rdparty/linewrap.m 67 0
File data_analysis/@meta_ev/plot_cuts.m changed (mode: 100644) (index 30cd24e..73591df)
... ... function plot_cuts(meta, plot_type, tracepairs_ind, par_ind, par_vals, varargin)
29 29 colororder = []; colororder = [];
30 30 legend_postfix = ''; legend_postfix = '';
31 31 legend_location = 'Best'; legend_location = 'Best';
32 legend_number_parser = @num2eng;
33 legend_title_maxlength = inf;
32 34 for k=1:2:length(varargin) for k=1:2:length(varargin)
33 35 switch lower(varargin{k}) switch lower(varargin{k})
34 36 case {'x_scale','xscale'} case {'x_scale','xscale'}
 
... ... function plot_cuts(meta, plot_type, tracepairs_ind, par_ind, par_vals, varargin)
49 51 colororder = varargin{k+1}; colororder = varargin{k+1};
50 52 case {'legend_postfix','legendpostfix'} case {'legend_postfix','legendpostfix'}
51 53 legend_postfix = varargin{k+1}; legend_postfix = varargin{k+1};
54 case {'legend_numberformat','legendnumberformat'}
55 switch varargin{k+1}
56 case 'engineering'
57 % default: leave num2eng
58 case {'float', 'plain'}
59 legend_number_parser = @num2str;
60 case {'short', 'round'}
61 legend_number_parser = @(num)num2str(round(100*num)/100);
62 otherwise
63 error(['Unrecognized option ', varargin{k+1}, ' for "legend_numberformat".']);
64 end
52 65 case {'legend_position','legendposition','legend_location','legendlocation'} case {'legend_position','legendposition','legend_location','legendlocation'}
53 66 legend_location = varargin{k+1}; legend_location = varargin{k+1};
67 case {'legend_title_maxlength', 'legendtitlemaxlength'}
68 legend_title_maxlength = varargin{k+1};
54 69 otherwise otherwise
55 70 error(['unrecognized varargin-argument: ', varargin{k}]); error(['unrecognized varargin-argument: ', varargin{k}]);
56 71 end end
 
... ... function plot_cuts(meta, plot_type, tracepairs_ind, par_ind, par_vals, varargin)
75 90
76 91 end end
77 92 if isempty(legend_postfix) if isempty(legend_postfix)
78 legend_parser = @(num) num2eng(num);
93 legend_parser = @(num) legend_number_parser(num);
79 94 else else
80 legend_parser = @(num) [num2eng(num), ' (', legend_postfix,')'];
95 legend_parser = @(num) [legend_number_parser(num), ' (', legend_postfix,')'];
81 96 end end
82 97 cut_labels = arrayfun(legend_parser, unique(meta_filtered.params{par_ind}),... cut_labels = arrayfun(legend_parser, unique(meta_filtered.params{par_ind}),...
83 98 'UniformOutput', false); 'UniformOutput', false);
 
... ... function plot_cuts(meta, plot_type, tracepairs_ind, par_ind, par_vals, varargin)
87 102 meta_ev.xylims(x_lims, y_lims); meta_ev.xylims(x_lims, y_lims);
88 103 leg = legend('Location', legend_location); leg = legend('Location', legend_location);
89 104 legtitle = get(leg,'title'); legtitle = get(leg,'title');
90 set(legtitle,'string', sentence_case(meta_filtered.param_names{par_ind}),...
105 if legend_title_maxlength==inf
106 title_str = sentence_case(meta_filtered.param_names{par_ind});
107 else
108 title_str = linewrap(sentence_case(meta_filtered.param_names{par_ind}),...
109 legend_title_maxlength);
110 end
111 set(legtitle,'string', title_str,...
91 112 'interpreter', 'latex','FontSize',11); 'interpreter', 'latex','FontSize',11);
92 113 set(leg, 'Color', 'w', 'FontWeight', 'normal',... set(leg, 'Color', 'w', 'FontWeight', 'normal',...
93 114 'LineWidth', 1, 'Interpreter', 'latex','FontSize',11); 'LineWidth', 1, 'Interpreter', 'latex','FontSize',11);
File misc/3rdparty/linewrap.m added (mode: 100644) (index 0000000..dde94b4)
1 function c = linewrap(s, maxchars)
2 %LINEWRAP Separate a single string into multiple strings
3 % C = LINEWRAP(S, MAXCHARS) separates a single string into multiple
4 % strings by separating the input string, S, on word breaks. S must be a
5 % single-row char array. MAXCHARS is a nonnegative integer scalar
6 % specifying the maximum length of the broken string. C is a cell array
7 % of strings.
8 %
9 % C = LINEWRAP(S) is the same as C = LINEWRAP(S, 80).
10 %
11 % Note: Words longer than MAXCHARS are not broken into separate lines.
12 % This means that C may contain strings longer than MAXCHARS.
13 %
14 % This implementation was inspired a blog posting about a Java line
15 % wrapping function:
16 % http://joust.kano.net/weblog/archives/000060.html
17 % In particular, the regular expression used here is the one mentioned in
18 % Jeremy Stein's comment.
19 %
20 % Example
21 % s = 'Image courtesy of Joe and Frank Hardy, MIT, 1993.'
22 % c = linewrap(s, 40)
23 %
24 % See also TEXTWRAP.
25
26 % Steven L. Eddins
27 % $Revision: 1.7 $ $Date: 2006/02/08 16:54:51 $
28
29 error(nargchk(1, 2, nargin));
30
31 bad_s = ~ischar(s) || (ndims(s) > 2) || (size(s, 1) ~= 1);
32 if bad_s
33 error('S must be a single-row char array.');
34 end
35
36 if nargin < 2
37 % Default value for second input argument.
38 maxchars = 80;
39 end
40
41 % Trim leading and trailing whitespace.
42 s = strtrim(s);
43
44 % Form the desired regular expression from maxchars.
45 exp = sprintf('(\\S\\S{%d,}|.{1,%d})(?:\\s+|$)', maxchars, maxchars);
46
47 % Interpretation of regular expression (for maxchars = 80):
48 % '(\\S\\S{80,}|.{1,80})(?:\\s+|$)'
49 %
50 % Match either a non-whitespace character followed by 80 or more
51 % non-whitespace characters, OR any sequence of between 1 and 80
52 % characters; all followed by either one or more whitespace characters OR
53 % end-of-line.
54
55 tokens = regexp(s, exp, 'tokens').';
56
57 % Each element if the cell array tokens is single-element cell array
58 % containing a string. Convert this to a cell array of strings.
59 get_contents = @(f) f{1};
60 c = cellfun(get_contents, tokens, 'UniformOutput', false);
61
62 % Remove trailing whitespace characters from strings in c. This can happen
63 % if multiple whitespace characters separated the last word on a line from
64 % the first word on the following line.
65 c = deblank(c);
66
67
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/gutc61/Membrane

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/gutc61/Membrane

Clone this repository using git:
git clone git://git.rocketgit.com/user/gutc61/Membrane

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main