[問題] 排列組合的問題

看板MATLAB作者 (ZC)時間14年前 (2011/11/17 00:32), 編輯推噓4(4010)
留言14則, 5人參與, 最新討論串1/1
有爬文看到很類似的問題,但是還是有些不懂的,想請教各位 假設有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

11/17 01:00, , 1F
你可以先看看meshgrid的用法,ndgrid是meshgrid的延伸
11/17 01:00, 1F

11/17 01:00, , 2F
拿來做排列組合是一種從兩者運作原理衍生出來的用法
11/17 01:00, 2F

11/17 02:04, , 3F
有查到 ndgrid 這個關鍵字基本上就沒問題啦!
11/17 02:04, 3F

11/17 02:05, , 4F
你需要的只是讀懂它的 Help
11/17 02:05, 4F

11/17 07:19, , 5F
google matlab cartprod
11/17 07:19, 5F

11/17 09:52, , 6F
j大的ndgrid跟D大的cartprod(雖然抓不下來)我試過了,
11/17 09:52, 6F

11/17 09:53, , 7F
ndgrid我已經用成功了,但是前提是要知到數據有多少組,如果
11/17 09:53, 7F

11/17 09:54, , 8F
在數據組數不能確定的情況下,有通式的方法可以輸入input嗎
11/17 09:54, 8F

11/17 13:56, , 9F
用linspace吧
11/17 13:56, 9F

11/17 15:58, , 10F
google matlab Cartesian Product, then simply change the
11/17 15:58, 10F

11/17 15:59, , 11F
format of input argument as a cell variable
11/17 15:59, 11F

11/17 16:10, , 12F
其實我之前文章有寫過類似的欸,ndgrid 兩行就結束了。
11/17 16:10, 12F

11/17 21:22, , 13F
數據組數不定我有用ndgrid寫過就是,但那要使用到字串生
11/17 21:22, 13F

11/17 21:22, , 14F
成搭配eval,比較複雜一點點
11/17 21:22, 14F
文章代碼(AID): #1Em-M0pS (MATLAB)