公平的席位分配MATLAB编程(Q值法)

博客介绍了公平的席位分配的MATLAB编程,以某学校三个系共200名学生分配21个席位为例,分别提及比例加惯例方法和Q值法,给出了使用Q值法的MATLAB程序代码并展示了运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公平的席位分配MATLAB编程(Q值法)

**例题:**某学校有3个系,共200名学生,甲系103人,乙系63人,丙系34人,分别使用比例加惯例方法,Q值法分配21个席位。

程序如下:

clc
p=[103 64 34];
ps=sum§;
N=21;
n=[0,0,0];
for i=1:3
n(i)=floor(p(i)/psN);
end
Q=[0,0,0];
for j=1:3
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
得到结果j即甲11人在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值