function mask = optmask(K,m,n) %mask = {}; mask = repmat({[]},[1 n]); for i=1:n mu = getmu(K,m,n); %phim = fillgmask(mu,m); mask{i} = mu; K = getK1(K,m,n); n = n-1; end return function mu = getmu(K,m,n) maxmu = []; maxv = 0; mask0 = repmat({[]},[1 n]); for i=1:2^m setstr = dec2bin(i-1,m); ii1 = find(setstr=='1'); mask = mask0; mask{1} = ii1; phim = fillgmask(mask,m); fv = phim*K; if fv > maxv maxv = fv; maxmu = ii1; end end mu = maxmu; return