n個の組み合わせを全部列挙してみる

\( n \)個の組み合わせは\( n^n \)で表される。例え2桁の2進数は

2進数10進数
000
011
102
113

の組み合わせがある。ここでは\( 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\)を大きくしすぎないようにしないと大変なことになるので注意。

コメント

  1. […] 前回(n個の組み合わせを全部列挙してみる)で作ったプログラムを改造して巡回セールスマン問題用のプログラムを作ってみる。 […]

タイトルとURLをコピーしました