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

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

 Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 18 Nov. 2016

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Mehr zu 離散数学 finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!