function FPsiA(m0,n0) global m n randomize m = m0; n = n0; global myopt myopt = optimset('Diagnostics','off'); myopt = optimset('Display','off'); warning off global pstr pstr = mfilename global lstr rstr global maxr maxr = 0; global F F = fillsupsuma(m,n); while 1 A = randn(n,m^n); y = fminunc(@myobj,A(:)); fprintf('%s: PARAMS: n=%d m=%d; \n',pstr,n,m); fprintf('maxr _________________________ maxr = %1.9f \n',maxr); end return function y = myobj(x) global m n global F global pstr maxr A = reshape(x,[n m^n]); lhs = sum((A*F).^2); rhs = supsiA(A,m,n); r = lhs / rhs; y = -r; if (r > maxr) global maxA maxA = A; maxr = r; fprintf('%s: PARAMS: n=%d m=%d; \n',pstr,n,m); fprintf('maxr _________________________ maxr = %1.9f \n',maxr); end %end return