一个matlab里的排列组合或者说是循环嵌套的层数不定的问题
来源:互联网 发布:java门户网站开发框架 编辑:程序博客网 时间:2024/06/06 02:54
我要完成类似这么一个工作:我有一个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
% 把每维的坐标写成向量,然后放在一个cell数组中
% 这里按照你给的例子示范(三个坐标)
C = {
3
:
4
3
:
4
3
:
4
};
% 使用ndgrid生成N维网格数据
n = length(C);
S=arrayfun(@(i)sprintf(
'x%i '
,i),
1
:
n
,
'UniformOutput'
,
false
);
eval([
'['
S{:}
']=ndgrid(C{:});'
])
S1=arrayfun(@(i)sprintf(
'x%i(:) '
,i),
1
:
n
,
'UniformOutput'
,
false
);
% 把网格数据转换为坐标组合
X=eval([
'['
S1{:}
']'
])
运行结果
1
2
3
4
5
6
7
8
9
X =
3
3
3
4
3
3
3
4
3
4
4
3
3
3
4
4
3
4
3
4
4
4
4
4
0 0
- 一个matlab里的排列组合或者说是循环嵌套的层数不定的问题
- 动态决定嵌套循环层数的方法
- SQL的嵌套层数
- 一个排列组合的问题
- for循环里嵌套使用ajax遇到的问题
- 一个排列组合的分组问题
- 一个排列组合问题的解法
- 未知循环层数的递归处理
- Java中break跳出循环的层数
- for循环的嵌套问题
- 交换变量值的方法,异或并不高效或者说是一个花哨的招聘产物
- openMP之三嵌套层的线层数控制
- matlab 排列组合函数的用法
- Struts中扫描包的层数问题
- iOS集成微信支付问题, 友盟SDK有干扰或者说是冲突的解决
- 排列组合的一个竞赛题
- 解决viewpager嵌套scrowllview或者viewpager嵌套viewpager的问题
- ListView 嵌套 GridView 或者是listview 嵌套listView 的问题
- Android 红外遥控器实现
- 适合win10的c语言·编程软件和翻译。
- ArcGIS教程:使用 ArcGIS 构建地图册
- Java中String类型的参数传递问题的解析
- 100%准确“预测”涨停股的Java程序
- 一个matlab里的排列组合或者说是循环嵌套的层数不定的问题
- C++类型转换----const_cast
- 轮播图
- 从Eclipse到AndroidStudio(四)Gradle基本配置
- My remote working experience
- day_05双层装饰器原理_字符串格式化
- Java反射机制
- linux下载文件到本地
- 两个块进行交换