\( n \)個の組み合わせは\( n^n \)で表される。例え2桁の2進数は
2進数 | 10進数 |
00 | 0 |
01 | 1 |
10 | 2 |
11 | 3 |
の組み合わせがある。ここでは\( n \)個の組み合わせをmatlabで全列挙してみようと思う。
プログラムは以下の形で実装できる。
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個の組み合わせを全部列挙してみる)で作ったプログラムを改造して巡回セールスマン問題用のプログラムを作ってみる。 […]