10行20列の行列か​ら、7行20列の全て​の組み合わせを作成す​ることはできますか?

10行20列の行列があります。この行列から、7 行20列となる全ての組み合わせを生成する方法を教えてください。

 採用された回答

MathWorks Support Team
MathWorks Support Team 2016 年 11 月 18 日

0 投票

N 個から K 個を抽出する組み合わせを取得する関数である NCHOOSEK 関数を使用することができます。
以下は、その例です。
 
A=rand(10,20); % 元の行列を定義
C = nchoosek(1:10,7); % 1から10までを 7 個取り出す全組み合わせを計算
K=zeros(size(C,2),size(A,2),size(C,1)); % 配列の事前確保
for k=1:size(C,1)
K(:,:,k)=A(C(k,:),:); % 選択された行を用いてデータを抽出
end
実行結果として、変数 K に 7行20列となる全組み合わせを 3次元方向に格納しています。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange離散数学 についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!