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

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

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 18 Nov 2016

0 votes

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次元方向に格納しています。

More Answers (0)

Categories

Find more on 離散数学 in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!