combinationsで同じ配列を複数回引数に取る方法
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
T K
am 27 Nov. 2024
Kommentiert: T K
am 28 Nov. 2024
以前のAnswers、
では"[0 1]から重複を許して3つ選び,それらを並べるパターンを列挙する問題"として、その回答に
T = combinations([0 1], [0 1], [0 1])
という例が掲載されていました。
私は、"[0 1]から重複を許してn個選び,それらを並べるパターンを列挙する問題"を考えています。
- combinationsにはpythonのitertoolsでいうところのrepeatのようなオプションがないため、combinationsの使用をする場合はn回直書きする必要がある。nはよく切り替える数値のため、直書きは避けたい。
- リンク先の最初の回答例、meshgridは3次までなのに対し、nは4以上を検討しているためmeshgridは不適。また、ndgridもcomibinationsと同様に、直書きする必要があるように見える。
repmatをした結果を引数として展開することができれば良さそうと考えているのですが、それを実現する方法を見つけることは出来ていません。
この問題に対する良い方法はございますでしょうか?ご教授いただければ幸いです。
0 Kommentare
Akzeptierte Antwort
Shunichi Kusano
am 28 Nov. 2024
n = 4; % 自由に変えてください。
in = repmat({[0 1]},1,n);
in{:} % これがコンマ区切りリストです。
T = combinations(in{:}) % combinations([0 1],[0 1],[0 1],[0 1])と同じ意味です。
結果を見て気付きましたが、これは2のn乗-1までの数を二進数に変換したときそのものなので下記でもイイのではないかと思います。
T2 = dec2bin(0:2^n-1)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!