Mercurial > repos > public > sbplib
annotate textTable.m @ 426:29944ea7674b feature/quantumTriangles
Updated the Shrodinger scheme to the new operator syntax
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Wed, 25 Jan 2017 17:14:17 +0100 |
parents | fdee7f66a5e9 |
children |
rev | line source |
---|---|
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
2 % data -- cell array of numbers |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
3 % leftColstrings -- cell array of strings, for left column |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
4 % topRowStrings -- cell array of strings, for top row |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
5 % dataFormat -- (optional) format specifier, e.g. '%.2f' |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
6 function textTable(data, leftColStrings, topRowStrings, dataFormat) |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
8 default_arg('dataFormat','%.2f') |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
9 |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
10 nRows = length(leftColStrings); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
11 nCols = length(topRowStrings); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
12 [m,n] = size(data); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
13 |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
14 if(m ~= nRows || n ~=nCols) |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
15 error('Data dimensions must match labels'); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 end |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
18 % Find column widths |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
19 headerLength = 0; |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
20 for i = 1:nCols |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
21 headerLength = max(headerLength, length(topRowStrings{i} )); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 end |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
23 |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
24 dataLength = 0; |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
25 for i = 1:nRows |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
26 for j = 1:nCols |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
27 temp = length(sprintf(dataFormat, data{i,j})); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
28 dataLength = max(dataLength, temp); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
29 end |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
30 end |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
31 dataLength = length(sprintf(dataFormat, data{1,1})); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
32 |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
33 colWidth = max(headerLength,dataLength); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
35 % Print headers |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
36 fprintf(' %*s |',colWidth,'') |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
37 for i = 1:nCols |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
38 fprintf(' %-*s |', colWidth, topRowStrings{i}); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 end |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 fprintf('\n'); |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
42 % Print divider |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
43 m_dev = repmat('-',1,colWidth); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
44 column_dev = repmat('-',1,colWidth); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 fprintf('-%s-+',m_dev); |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
46 for i = 1:nCols |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 fprintf('-%s-+', column_dev); |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 end |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 fprintf('\n'); |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
50 |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 % Print each row |
286
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
53 dataFormat = ['%*' dataFormat(2:end)]; |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
54 for i = 1:nRows |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
55 fprintf(' %*s |',colWidth,leftColStrings{i}); |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
56 for j = 1:nCols |
fdee7f66a5e9
plainTextTable working.
Martin Almquist <martin.almquist@it.uu.se>
parents:
271
diff
changeset
|
57 fprintf([' ' dataFormat ' |'], colWidth, data{i,j}); |
271
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 end |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 fprintf('\n'); |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 end |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 fprintf('\n'); |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 |
3c25601f1fe3
Started adding a function for texttables.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 end |