Generate matrices of the form [a b c d]

If I have matrices of the form [a b c d]
where
2<=a<=4
1<=b<=2
3<=c<=4
2<=d<=4
Could someone help me with the code/pseudo code to generate all possible matrices?

3 Comments

per isakson
per isakson on 11 Mar 2015
Edited: per isakson on 11 Mar 2015
Are a,b,c,d whole numbers? If not, there will be very many possible vectors.
yes they are whole numbers
You can easily generate a cell array containing the requested permutations:
X = cell(1,4);
[~,X{:}] = ndgrid(1,2:4,1:2,3:4,2:4);
X = num2cell(cat(1,X{:}),1);

Sign in to comment.

 Accepted Answer

Of course you could just do a trivial, brute force way of 4 nested "for" loops, which I'm sure you can do. (If not, let us know.) But I'm thinking that you're wanting some more clever method, right? Or not right, and the trivial way is fine?
Oh well, here's the trivial way, just to save time:
for a = 2:4
for b = 1:2
for c = 3:4
for d = 2:4
out = [a,b,c,d]
end
end
end
end

1 Comment

I thought of this, but was wondering if there was another way...

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 11 Mar 2015

Commented:

on 11 Mar 2015

Community Treasure Hunt

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

Start Hunting!