数字分组 matlab lingo
来源:百度知道 编辑:UC知道 时间:2024/06/24 17:37:05
已知一系列数字比如1到30,把这30个数任意选出4个出来,这个程序我知道
c=combntns([1:30],4) 但是我有限制条件 选出来的众多组当中 不能存在2个相同或者3个相同。问最多能分多少组。
请问高手 用matlab编程或者 用lingo!
请大家不要答非所问!!!!!!!!!!!!!
c=combntns([1:30],4) 但是我有限制条件 选出来的众多组当中 不能存在2个相同或者3个相同。问最多能分多少组。
请问高手 用matlab编程或者 用lingo!
请大家不要答非所问!!!!!!!!!!!!!
>> e=nchoosek([4 1 1 2 4],2)
%当然用combntns也一样。nchoosek仅适用与n<=15;
e =
4 1
4 1
4 2
4 4
1 1
1 2
1 4
1 2
1 4
2 4
>> sort(e,2) %把每一行由小到大排列,当然如果你需要[1 4][4 1]不同的话,也可以不用调用这个函数。
ans =
1 4
1 4
2 4
4 4
1 1
1 2
1 4
1 2
1 4
2 4
>> unique(ans,'rows') %每行作为一个单元,去掉重复的行。
ans =
1 1
1 2
1 4
2 4
4 4
>>