source: trunk/src/cell2tab.m @ 387

Last change on this file since 387 was 128, checked in by sommeria, 14 years ago

series: give writting access to the group for all subdirectories produced
uvmat.fig: change of vect and scalar frames (to be consistent with view_field)
uvmat: various cleaning
plot_field: various cleaning to improve axes definition and avoid blinking
geometry_calib: improved dispay of point coordiantes, improved link with dataview for REPLICATE.
struct2nc: repair bug , file was not closed.
cell2tab: cleaning
dataview: improve the browser
civ: solve pb of image naming

File size: 1.8 KB
Line 
1%'cell2tab': transform a Matlab cell in a character array suitable for display in a table
2%------------------------------------------------------------------------
3% function Tabchar=cell2tab(Tabcell,separator)
4%
5% OUTPUT:
6% Tabchar: column cell of char strings suitable for display (equal length)
7%
8% INPUT:
9% Tabcell: (ni,nj) cell matrix of char strings to be displayed as  ni lines , nj column
10% separator: char string used for separating displayed columns
11
12function Tabchar=cell2tab(Tabcell,separator)
13[ni,nj]=size(Tabcell);
14
15%determine width of each column
16if isequal(ni,1)
17    widthcolumn=cellfun('length',Tabcell);% case of a single line, no justification used
18else
19    widthcolumn=max(cellfun('length',Tabcell));
20end
21lsep=numel(separator); %nbre of characters of the separator
22nbchar_line=(sum(widthcolumn)+(nj-1)*lsep); %total nbre of characters in each output line
23default_line=blanks(nbchar_line); %default blank line
24Tabmat=reshape(blanks(nbchar_line*ni),ni,nbchar_line);
25Tabchar=mat2cell(Tabmat,ones(1,ni),nbchar_line); %default output
26
27%justify table
28for itab=1:ni   
29    charchain=default_line; 
30    for jtab=1:nj% read line
31        textlu=Tabcell{itab,jtab};
32        if jtab==1
33            charchain(1:length(textlu))=textlu;%introduce separator chain string except for the first column
34            ind_column=widthcolumn(1);%new current char index in the line
35        else
36            charchain(ind_column+1:ind_column+lsep)=separator;%introduce separator chain string except for the first column
37            charchain(ind_column+lsep+1:ind_column+lsep+length(textlu))=textlu;%introduce separator chain string except for the first column
38            ind_column=ind_column+widthcolumn(jtab)+lsep;
39        end
40    end
41    Tabchar(itab,1)={charchain};
42end
Note: See TracBrowser for help on using the repository browser.