IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
extract_variables.m
Go to the documentation of this file.
1 %>@ingroup codegen
2 %>@file
3 %>@brief Creates variables in the base workspace from an array or cell
4 %>
5 %> Variable names are extracted as (prefix)_(nnnn)_(suffix)
6 %>
7 %
8 %> @param in Array or cell
9 %> @param suffix (optional) Suffix for variable names
10 %> @param prefix (optional) Prefix for variable names
11 function extract_variables(in, suffix, prefix)
12 
13 if ~iscell(in)
14  in = num2cell(in);
15 end;
16 
17 global OUT;
18 OUT = in;
19 
20 if ~exist('suffix', 'var')
21  suffixx = '';
22 else
23  suffixx = ['_', suffix];
24 end;
25 if ~exist('prefix', 'var')
26  prefixx = '';
27 else
28  prefixx = [prefix, '_'];
29 end;
30 
31 % if ~iscell(in)
32 % in = {in};
33 % end;
34 
35 [ni, nj] = size(in);
36 for i = 1:ni
37  for j = 1:nj
38  inij = in{i, j};
39  sij = sprintf('{%d, %d}', i, j);
40  inname = find_varname([prefixx, class(inij), suffixx]);
41  scode = sprintf('global OUT; %s = OUT%s;\n', inname, sij);
42  evalin('base', scode);
43  end;
44 end;
Analysis Session (AS) base class.
Definition: as.m:6
function find_varname(in prefix)
function extract_variables(in in, in suffix, in prefix)