n 個の組み合わせは n^n で表される。例え2桁の2進数は
2進数 | 10進数 |
00 | 0 |
01 | 1 |
10 | 2 |
11 | 3 |
の組み合わせがある。ここでは n 個の組み合わせをmatlabで全列挙してみようと思う。
プログラムは以下の形で実装できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | n=6; data=zeros(1,n,n^n); count=0; for i=1:1:n for j=1:1:n for k=1:1:n for l=1:1:n for m=1:1:n for o=1:1:n temp=[i,j,k,l,m,o]; data(1,:,count+1)=temp; clear temp count=count+1; end end end end end end |
プログラムを実行する場合、nを大きくしすぎないようにしないと大変なことになるので注意。
コメント
[…] 前回(n個の組み合わせを全部列挙してみる)で作ったプログラムを改造して巡回セールスマン問題用のプログラムを作ってみる。 […]