作者zergcho (ZC)
看板MATLAB
標題[問題] 排列組合的問題
時間Thu Nov 17 00:31:57 2011
有爬文看到很類似的問題,但是還是有些不懂的,想請教各位
假設有A, B, C, 三組數據, 分別是 A=[1 2] B=[3 4] C=[5 6]
我希望能排列出所有從A B C各選出來一個的方式(照A B C順序)
也就是說我希望輸出是
1 3 5
1 3 6
1 4 5
1 4 6
2 3 5
2 3 6
2 4 5
2 4 6
爬文有看到說用ndgrid, 但是跳出來好像是一個3維的矩陣, 而且內容都是0或1
現在的問題是數據的組數不固定(也許會出現到F或G),每一組數據也不一定只有2個數
請問應該要如何寫?
謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.245.61
1F:推 Gwaewluin:你可以先看看meshgrid的用法,ndgrid是meshgrid的延伸 11/17 01:00
2F:→ Gwaewluin:拿來做排列組合是一種從兩者運作原理衍生出來的用法 11/17 01:00
3F:→ DigiPrince:有查到 ndgrid 這個關鍵字基本上就沒問題啦! 11/17 02:04
4F:→ DigiPrince:你需要的只是讀懂它的 Help 11/17 02:05
5F:推 jmren:google matlab cartprod 11/17 07:19
6F:→ zergcho:j大的ndgrid跟D大的cartprod(雖然抓不下來)我試過了, 11/17 09:52
7F:→ zergcho:ndgrid我已經用成功了,但是前提是要知到數據有多少組,如果 11/17 09:53
8F:→ zergcho:在數據組數不能確定的情況下,有通式的方法可以輸入input嗎 11/17 09:54
9F:推 Raymond0710:用linspace吧 11/17 13:56
10F:推 jmren:google matlab Cartesian Product, then simply change the 11/17 15:58
11F:→ jmren:format of input argument as a cell variable 11/17 15:59
12F:→ DigiPrince:其實我之前文章有寫過類似的欸,ndgrid 兩行就結束了。 11/17 16:10
13F:→ Gwaewluin:數據組數不定我有用ndgrid寫過就是,但那要使用到字串生 11/17 21:22
14F:→ Gwaewluin:成搭配eval,比較複雜一點點 11/17 21:22