你好,Q值法可以这么写,供参考:
clc;clear
p=[235 333 432];
ps=sum(p);
N=10;
n=[0,0,0];
for i=1:3
n(i)=floor(p(i)/ps*N);
end
Q=[0,0,0];
for j=1:3%计算Q值
Q(j)=p(j)^2/(n(j)*(n(j)+1));
end
ns=sum(n);
if N-ns>0
for t=1:(N-ns)
s=find(Q==max(Q));
n(s)=n(s)+1;
Q(s)=p(s)^2/(n(s)*(n(s)+1));
end
end
n
最后分配:n =
2 3 5
有帮助望采纳! 谢谢啦