function ksinpsi(m0,n0) global m n randomize m = m0; n = n0; global pstr pstr = mfilename global lstr rstr pdim = m^n; xdim = pdim; LB = zeros(xdim,1); UB = LB*0+1; Aeq = ones(1,xdim); Beq = 1; global mind mind = 1e6; while 1 P = unifP(m,n); x = P(:); y = fmincon(@myobj,x,[],[],Aeq,Beq,LB,UB); fprintf('%s: PARAMS: n=%d m=%d \n',pstr,n,m); fprintf('DIFF _________________________ mind = %1.9f \n',mind); end return function y = myobj(x) global m n global Ainf Binf mylinopt global lstr rstr global LB UB saf raf global islip global Lipk global dorat global pstr pdim = m^n; xdim = pdim; P = x(1:pdim); P = makepos(P); %global U U = prodmeas(P,m,n); [hh,Ht,H] = gethhn(P,m,n); K = H*U - P; y = npsi(K,m,n); global mind if (y < mind) global mindP mindP = P; mind = y; fprintf('%s: PARAMS: n=%d m=%d \n',pstr,n,m); fprintf('DIFF _________________________ mind = %1.9f \n',mind); if y < -.01 save BADEPHID m n P y end end return