1.如何利用matlab把多组向量排列组合。
2.有1、2、合约币源码3、4个数字,costmap 源码能组成多少个互不相同且无重复数字的usbmouse源码三位数?都是多少?用matlab编程
如何利用matlab把多组向量排列组合。
生成全排列可以用perms函数,把各向量放在元胞数组中,然后按照全排列来组合即可:
M = { [1 2 3]; [4 5 6]; [7 8 9]};
I=perms(1:3);
C=mat2cell(I,ones(6,1),3);
R=cellfun(@(ii)[M{ ii}],C,'UniformOutput',false)
这样得到的结果R是一个元胞数组,其每个元素分别是一个组合出来的向量。
>> cellfun(@(c)fprintf('%s\n',mat2str(c)),R)
[7 8 9 4 5 6 1 2 3]
[7 8 9 1 2 3 4 5 6]
[4 5 6 7 8 9 1 2 3]
[4 5 6 1 2 3 7 8 9]
[1 2 3 4 5 6 7 8 9]
[1 2 3 7 8 9 4 5 6]
有1、2、3、soudj源码4个数字,能组成多少个互不相同且无重复数字的adminlte源码三位数?都是多少?用matlab编程
按题意,其实就是4取3的排列问题,共有个数:>> p=perms(1:4);>> sum(p(:,1:3).*repmat([ 1],size(p,1),1),2)
ans =