function y = getmask(phi,m,n) global nstate nstate = m; y = zeros(1,n); dims = repmat([m],[1 n]); global FN FN{n} = phi; for i=1:n x0 = floor(rand(1,m))+1; rr = zeros(m); for t1 = 1:m for t2 = 1:m x1(i) = t1; x2(i) = t2; rr(t1,t2) = abs(F(x1)-F(x2)); end end keyboard end return function r = F(x) global nstate lenseq = length(x); global FN FF = FN{lenseq}; ind = coord2ind(x,(repmat(nstate,1,lenseq))); r = FF(ind); return function b = ismask(phi,y,m,n) dims = repmat([m],[1 n]); b = 1; kap = min(phi); for xind = 1:length(phi) x = ind2coord(xind,dims); b = b & myeq(F(x),rho(x,y)+kap); if ~b return end end return function R = rankmask(phi,y,m,n) dims = repmat([m],[1 n]); R = 0; kap = min(phi); for xind = 1:length(phi) x = ind2coord(xind,dims); R = R + abs(F(x)-(rho(x,y)+kap)); end return function RR = rankl(phi,m,n) dims = repmat([m],[1 n]); RR = []; for yind = 1:length(phi) y = ind2coord(yind,dims); RR(yind) = rankmask(phi,y,m,n); end return function y = brutemask(phi,m,n) dims = repmat([m],[1 n]); b = 0; for yind = 1:length(phi) y = ind2coord(yind,dims); b = ismask(phi,y,m,n); if b return end end y = []; return function b = myeq(x,y) b = abs(x-y) < 1e-9; return function r = rho(x,y) r = sum(x~=y); return