-1

ベクトルを MATLAB の関数に渡す必要があります。これには 6 つの要素があり、各要素は 4 つの異なる値を取ることができます。可能なすべての組み合わせをカバーできるループを作成する必要があります。

基本的に、ベクトルは次の値を取る必要があります。

0.4 0.4 0.4 0.4 0.4 0.4

0.4 0.4 0.4 0.4 0.4 0.6

0.4 0.4 0.4 0.4 0.4 0.8

0.4 0.4 0.4 0.4 0.4 1.0

0.4 0.4 0.4 0.4 0.6 0.4

0.4 0.4 0.4 0.4 0.6 0.6

...

...

1   1   1   1   1   1

4^6 = 4096通りの組み合わせになると思います。組み合わせごとに関数を実行する必要があります。では、ここでループを行うにはどうすればよいでしょうか。ネストされたループをいくつか試してみました。値の変更の 1 つを作成し、その値の位置を循環させることはできますが、すべての組み合わせが得られるわけではありません。助けてください?

別の注意として、これらすべての 4096 ベクトルを順番に関数に渡すと、何か問題が発生しますか? システムハングのような?(私はi5、4 GB RAMを使用しています)。

Matlab 7.9.0 (R2009b) の場合

4

3 に答える 3

-1

次の方法ですべてのループを保存できます。

data=0.4:0.2:1;
DupData=kron(ones(1,6),data);
DesResult=unique(nchoosek(DupData,6),'rows');

これにより、ループなしで、必要な順序でベクトルが得られます...

于 2013-08-28T19:49:18.810 に答える