Borrar filtros
Borrar filtros

Find all subset index of an array whose sums equal or nearest to a given target

1 visualización (últimos 30 días)
  • target = 700
  • array = [200 250 340 100 500 360]
  3 comentarios
Stalin Samuel
Stalin Samuel el 26 de Sept. de 2015
yes sir.but i need the elements without Repetition
Walter Roberson
Walter Roberson el 26 de Sept. de 2015
So 200,200,200,100 would be accepted as long as no other permutation of those values was emitted?

Iniciar sesión para comentar.

Respuestas (1)

Andrei Bobrov
Andrei Bobrov el 26 de Sept. de 2015
a = dec2bin((0:bin2dec(sprintf('%d',ones(1,numel(array)))))')-'0';
k = bsxfun(@times,a,array);
d = abs(sum(k,2) - 700);
out = k(d == min(d),:);

Categorías

Más información sobre Operators and Elementary Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by