MATLAB穷举排列组合
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/04 22:13:45
MATLAB穷举排列组合
从21个人里面选出三组人,每组七个人,怎么用MATLAB把所有的情况都穷举出来?假设21个人分别是A,B,C...U
从21个人里面选出三组人,每组七个人,怎么用MATLAB把所有的情况都穷举出来?假设21个人分别是A,B,C...U
% 数据太大,以6个人,分三组为示例:
a = 'A':'F';
for i = combnk(a, 2)'
t = setdiff(a, i);
for j = combnk(t, 2)'
k = setdiff(t, j);
disp([i' j' k])
end
end
% 如下是你题目对应的程序
a = 'A':'U';
for i = combnk(a, 7)'
t = setdiff(a, i);
for j = combnk(t, 7)'
k = setdiff(t, j);
% [i' j' k] 为得到的组合情况
end
end
a = 'A':'F';
for i = combnk(a, 2)'
t = setdiff(a, i);
for j = combnk(t, 2)'
k = setdiff(t, j);
disp([i' j' k])
end
end
% 如下是你题目对应的程序
a = 'A':'U';
for i = combnk(a, 7)'
t = setdiff(a, i);
for j = combnk(t, 7)'
k = setdiff(t, j);
% [i' j' k] 为得到的组合情况
end
end