Finding all integer vectors between two vector bounds

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 日

2 投票

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 件)

カテゴリ

製品

質問済み:

2018 年 12 月 20 日

回答済み:

2018 年 12 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by