ValSUREThresh2.m
上传用户:sla11nk8
上传日期:2013-03-09
资源大小:21k
文件大小:1k
源码类别:

其他

开发平台:

Matlab

  1. function thresh = ValSUREThresh2(y)
  2. %
  3. %%%%%%It's My Own Function!!!
  4. %
  5. % ValSUREThresh -- Adaptive Threshold Selection Using Principle of SURE
  6. %  Usage 
  7. %    thresh = ValSUREThresh(y)
  8. %  Inputs 
  9. %    y        2-d Noisy Data with Std. Deviation = 1
  10. %  Outputs 
  11. %    thresh   Value of Threshold
  12. %
  13. %  Description
  14. %    SURE referes to Stein's Unbiased Risk Estimate.
  15. %
  16.     m=length(y);
  17.     x=[];
  18.     for k=1:m
  19.         x=[x y(k,:)];
  20.     end;
  21.     
  22. a = sort(abs(x)).^2 ;
  23. b = cumsum(a);
  24. n = m*m;%length(x);
  25. c = linspace(n-1,0,n);
  26. s = b+c.*a;
  27. risk = (n - ( 2 .* (1:n ))  + s)/n;
  28.     %figure;plot(1:n,risk(1:n));
  29. [guess,ibest] = min(risk);
  30. thresh = sqrt(a(ibest));