Finding all integer vectors between two vector bounds

3 次查看(过去 30 天)
I would like to find all the integers vectors between two vector bounds. For instance, suppose that
lb = [0;1;0;1]
ub = [2;1;0;1]
Then the function would return
[0;1;0;1]
[1;1;0;1]
[2;1;0;1]
I need this in arbitrary dimenions n, I plan on evaluate a function that takes each of these vectors as argument.
Thanks!

采纳的回答

James Tursa
James Tursa 2018-12-20
You can use the FEX submission allcomb( ) by Jos for this:
c = arrayfun(@(a,b)a:b,lb,ub,'uni',false);
result = allcomb(c{:});
The vectors you want are the rows of the result. You can find allcomb here:

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by