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

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

 Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 18 de Nov. de 2016

0 votos

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

Más respuestas (0)

Categorías

Más información sobre 離散数学 en Centro de ayuda y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!