fork(2) download
  1. x=[9,8,7,6,5,4,3,2,1];
  2. array_all = bsxfun( @times, x(:), [1 .5 .25] );
  3. n = numel(x);
  4. valid = false(n,1); %// at first, only first line is valid
  5. valid(1) = true;
  6. for ii=2:n, %// first line is valid by default
  7. valid(ii) = ~any( reshape( array_all( valid, : ),[],1) == x(ii) );
  8. end
  9. array_all = array_all(valid, : )
Success #stdin #stdout 0.17s 65056KB
stdin
Standard input is empty
stdout
array_all =

   9.00000   4.50000   2.25000
   8.00000   4.00000   2.00000
   7.00000   3.50000   1.75000
   6.00000   3.00000   1.50000
   5.00000   2.50000   1.25000
   1.00000   0.50000   0.25000