譬如说,有矩阵a
a=[3,5;14,15;7,8];
每行选取一值,排列形成新的矩阵,如新的行向量为[1,14,7]
全排列出来为a1
a1=[3,14,7;3,14,8;3,15,7;3,15,8;5,14,7;5,14,8;5,15,7;5,15,8]
有想过for循环,但老是出错,再就是不能完全排列。
不知道有没有人知道该怎么编,一起学习一下,谢谢了
我说一下我的思路:
首先把你要用到的所有排列,比如111,112,121,122,....等全部存到一个变量flag里,可以用for循环来算这个排列;
对矩阵a取以变量flag里面的数为列角标的数组成行向量,再用for循环组成矩阵。
如果你想要实现随机排列,把flag里的向量打乱顺序即可。
追问说的太抽象了,能给个代码吗?
而且这个只是句的一个例子,实际问题是nx2的一个矩阵,具体多少行是不确定的,想做一个同意的算法代码出来,谢谢啦!