问题背景:
我有16个评价指标,需要计算取指定个数的评价指标后参与评价的正确率,并找到指定次数中正确率最大的评价指标组合。
分析:
将16个评价指标以1~16的数字指代,比如要计算选取三个指标所有可能结果的评价正确率,那就要找到1 ~16的三个数字全部可能结果,如:1、2、3 || 1、2、4 || 1、2、5 …
解决办法:
想到的办法是三层嵌套for循环(如果指定四个数字就是四层嵌套),最外层遍历1-14,第二层遍历2-15,第三层遍历3-16,在第二层及以后的遍历中如果遇到之前出现过的数字就需要使用break跳出当前循环。
A=(1:16);
a=1;
n=length(A);
B=[];
for i=1:(n-2)
for j=(i+1):(n-1)
if j == i
break;
end
for k=(j+1):n
if k == i || k == j
break;
else
B(a,1)=A(i);
B(a,2)=A(j);
B(a,3)=A(k);
a=a+1;
end
end
end
end



