3 %> @brief Calls Properties GUIs
for all component blocks
5 %> @param blk instance of
block to be created
6 %> @param input (optional) Input to
block
10 input = []; flag_input = 0;
11 if nargin >= 1 && ~isempty(varargin{2})
18 no_blocks = numel(blk.blocks);
21 z = blk.blocks{i}.get_params(input);
29 blk.blocks{i} = blk.blocks{i}.boot();
32 if isfield(z,
'params') % bit of tolerance
33 for j = 1:2:numel(z.params)
34 z.params{j} = [
'blocks{', int2str(i),
'}.', z.params{j}];
36 params = [params, z.params]; % Goes collecting params
39 for j = 1:2:numel(z.params)-1
40 s_code = sprintf(
'global blk; blk.%s = %s;', z.params{j}, z.params{j+1});
41 evalin(
'base', s_code);
46 if i < no_blocks && flag_input
47 blknow = blk.blocks{i}.train(input);
48 input = blknow.use(input);
53 output.params = params;
74 varargout{1} = output;
function uip_block_cascade_base(in varargin)