我要完成类似这么一个工作:我有一个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 |
|