MaJ_G_EM_NeNMF.m 620 B

1234567891011121314151617181920212223242526272829303132
  1. function [ G1 , i ] = MaJ_G_EM_NeNMF( FF , XF , G1 , InnerMinIter , InnerMaxIter , StoppingCritG , nOmega_G)
  2. Y = G1;
  3. alpha = zeros(2,1);
  4. alpha(1) = 1;
  5. L = norm(FF);
  6. Grad_y = Y*FF-XF;
  7. for i = 1 : InnerMaxIter
  8. G2 = max(Y-(1/L)*Grad_y,0).*nOmega_G;
  9. % G2 = G2.*nOmega_G; % Projection on not(Omega_G)
  10. alpha(2) = (1+sqrt(4*alpha(1)^2+1))/2;
  11. Y = G2 + ((alpha(1)-1)/alpha(2))*(G2-G1);
  12. Grad_y = Y*FF-XF;
  13. G1 = G2;
  14. alpha(1) = alpha(2);
  15. % if mod(i , InnerMinIter) == 0
  16. % if(Grad_P(Grad_y , Y)<=StoppingCritG)
  17. % break
  18. % end
  19. % end
  20. end
  21. end