how to generate a matrix with all possible combinations in an efficient way

1 回表示 (過去 30 日間)
mohamed Faraj
mohamed Faraj 2019 年 8 月 30 日
回答済み: Guillaume 2019 年 8 月 30 日
I have n=1:4 and m=3, and I want to generate a matrix S whose rows are all the possible combinations.. i.e., S has 4^3 rows and 3columns. What is the mist efficient way to do this as I want to extend matrix to be of 50^10 rows and 10 columns (very large)
  3 件のコメント
Guillaume
Guillaume 2019 年 8 月 30 日
very large is a massive understatement, as Bruno says. Looking a this wikipedia entry, you might be able to store your matrix if you manage to convice google to lend you all of their data centres. Good luck!
mohamed Faraj
mohamed Faraj 2019 年 8 月 30 日
I agree with you. The matrix may be of a manegable size. e.g., 20^5 or 10^5 rows and 5 columns

サインインしてコメントする。

回答 (1 件)

Guillaume
Guillaume 2019 年 8 月 30 日
For reasonable n and m you can either use Jos' allcomb or the following:
%n: a vector of numbers
%m: a scalar integer
allcombs = cell(1, m);
[allcombs{:}] = ndgrid(n);
allcombs = reshape(cat(m+1, allcombs{:}), [], m);

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by