fork download
  1. s = randi( 5, 1, 10 );
  2.  
  3. # method 1
  4. sel = s < max(s(:)); % select relevant entries
  5. n=sum( bsxfun( @eq, s, s' ), 1 );
  6. r1 = sum( n( sel ) .* s(sel).^2 ) ./ sum( s.*n )
  7.  
  8. # method 2
  9. us = unique( s );
  10. n2 = hist( s, us );
  11. sel2 = us < max(us);
  12. row = @(x) x(:).'; %//' convert to row vector
  13. col = @(x) x(:); %// convert to col vector
  14. r2 = ( row( us(sel2).^2 ) * col( n2(sel2).^2 ) ) / ( row( us ) * col( n2.^2 ) )
  15.  
  16.  
Success #stdin #stdout 0.2s 65096KB
stdin
Standard input is empty
stdout
r1 =  0.77193
r2 =  0.77193