MATLAB Answers

C Zeng

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

Asked by C Zeng
on 23 May 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:


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!


I don't understand your constraints. Edit your question to include the rule and an example of what rows you want.

C Zeng
on 25 May 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?


C Zeng
on 5 Jun 2012

Hello, Daniel, could you answer my question please if there is a better way?

Thank you so much!


No products are associated with this question.

1 Answer

Answer by Daniel Shub
on 24 May 2012
 Accepted answer

  1 Comment

C Zeng
on 31 May 2012

Daniel, is it possible to look at my question? How to consider a constraint on the combinator and solve it fast?

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!