(continued)On the combination of N-dim vector.

1 visualización (últimos 30 días)
C Zeng
C Zeng el 23 de Mayo de 2012
Yesterday I asked how to write code to visit every combination of N-dim vector(with entry 0,1 or 2), and it is very helpful by just trying below:
[C{1:N}]=ndgrid(0:2);
M=reshape(vertcat(C{:}),[],N);
Then for i=1:3^N, trying M(i,:) is the answer. However, if I want to add constraint on those 3^N vectors, how to adjust the code?
For example I want all combinations that less than or equal to another vector V(every entry is less than or equal to V's entry). For another one, I want to try those combinations in a order, by least sum of all entries to most.
Thank you for your help!
  6 comentarios
C Zeng
C Zeng el 25 de Mayo de 2012
Sorry, sure let me give you an example: say N=4; M = fullfact(repmat(3, N, 1))-1;
But I have a vector say a=[1,2,0,1] and I want to list all rows in M that <=a. How can I modify the code? I know that if I add a if-command, I can filter M, but I think it may be slow.
Also, if I want to order all rows in M in a descendant or ascendant order by the sum of vector. How shall I do it? I notice that the output is already in a ascendant order, is that true or convention?
Thanks.
C Zeng
C Zeng el 5 de Jun. de 2012
Hello, Daniel, could you answer my question please if there is a better way?
Thank you so much!

Iniciar sesión para comentar.

Respuesta aceptada

Daniel Shub
Daniel Shub el 24 de Mayo de 2012
  1 comentario
C Zeng
C Zeng el 31 de Mayo de 2012
Daniel, is it possible to look at my question? How to consider a constraint on the combinator and solve it fast?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown 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