function [ncol,ncol_rank,ncol_hybrid,ncol_dem,ncol_scal] = ncol_from_colmap(col) % [ncol,ncol_rank,ncol_hybrid,ncol_dem,ncol_scal] = ncol_from_flags(irank,ihybrid,idem,iscal) % Get number of columns from containers.Map object % Input % col column map which can be indexed by e.g. col('x') % Output % ncol total number of columns % ncol_rank number of columns (rank) % ncol_hybrid number of columns (hybrid) % ncol_dem number of columns (DEM) % ncol_scal number of columns (scalar) ncol_rank = 0; ncol_hybrid = 0; ncol_dem = 0; ncol_scal = 0; if col.isKey('rank'); ncol_rank = 1; end if col.isKey('fx'); ncol_hybrid = 21; end if col.isKey('fxc'); ncol_dem = 6; end ii = 1; while col.isKey(sprintf('s%d',ii)) ncol_scal = ncol_scal+2; ii = ii+1; end ncol = ncol_rank+ncol_hybrid+ncol_dem+ncol_scal; end