function checkmasknorm global m n global mask keyboard m = 2; n = 2; global mv mK %mv = 0; while 1 K = randn(m^n,1); [x,fv] = fminunc(@myobj,K); if fv > mv mv = fv; mK = K; end fprintf(' mv = %1.5f \n',mv); end return function y = myobj(K) global mv mK n1 = masknorm(K); %n2 = L1norm(K); n2 = psinorm(K); y = -n2/(n1+realmin); if abs(y) > mv mv = abs(y); mK = K; end fprintf(' mv = %1.5f \n',mv); return function y = psinorm(K) global m n y = max(Psi(K,m,n),Psi(-K,m,n)); return function y = masknorm(K) global m n phi1 = fillgmask(optmask( K,m,n),m); phi2 = fillgmask(optmask(-K,m,n),m); y = max(abs(phi1*K),abs(phi2*K)); return function y = L1norm(K) y = sum(abs(K)); return