作者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