一個matlab裡的排列組合或者說是迴圈巢狀的層數不定的問題
阿新 • • 發佈:2019-02-13
我要完成類似這麼一個工作:我有一個n維的座標,[a,b,c....n]座標的範圍已知,如何將所有的座標都填到一個矩陣裡去,舉例說明,假設有[a,b,c]取值在[3,3,3]到[4,4,4]之間,那麼應該這之間的所有座標為444,344,434,443,334,343,433,333也就是2*2*2個,這是一個排列組合的問題,可是我試了用perms好像無法實現我的要求,而如果用迴圈巢狀的方式,因為n是不定的,那麼巢狀的層數不定,也不知道如何解決,請問哪位大神能給我一個解決方案?萬分感謝!
基本思路
1、使用ndgrid生成N維網格資料;
2、把網格資料轉換為座標組合。
參考程式碼
1 2 3 4 5 6 7 8 9 10 11 12 |
])
|
執行結果
1 2 3 4 5 6 7 8 9 |
3 4
|