公平的席位分配(MATLAB程序)
《公平的席位分配(MATLAB程序)》由会员分享,可在线阅读,更多相关《公平的席位分配(MATLAB程序)(3页珍藏版)》请在装配图网上搜索。
1、席位分配问题的MATLA程序 说明: 1. 本程序用三种方法,分别是惯例法、d' honht分配法和Q值法 2. 可以模拟出任意一种分配情况,即可以推广到 N种情形。 3. 三种分配方案供你选择,相互比较。 4. 请务必阅读注意事项。 1. 以下包含两个程序,下载完后把程序拷贝到 matlab的M文件中, 2. 第一个程序可以任意命名, 只要符合规范就可以 (本人以” xiweifenpei ”命名, 这样便于查看) ,第二个程序一定要命名为 “xiwei ”,因为程序中要用到函数。 下载完后先把程序拷贝到txt文件中,再从txt拷贝到M文件中,这样可以避免乱 码。 程序一:
2、 clear all clc disp(' 席位分配: ') P=1000 p=[235 333 432] N=10 [x,y]=size(p); zu=x*y; disp(' 惯例分配方法 :') for i = 1:zu n(i) =p(i)*N/P; end n; m=n-fix(n); for i=1:zu if n(i)==max(m)+fix(n(i)) n(i)=fix(n(i))+1; else n(i)=fix(n(i)); end end disp(' 惯例分配人数: ') n disp('d 'honht 方法 :') pp=[]
3、; for i=1:N pi=p/i; pp=[pp; pi]; end pp m=zeros(1,zu); for i=1:N [x,y]=find(pp==max(pp(:))); pp(x,y)=0; m(y)=m(y)+1; end pp disp('d ' honht 分配人数 :') m disp('Q 值法分配方法 :') q=ones(1,zu); Q=[]; p; for i=1:zu Q(i)=p(i)*p(i)/(q(i)*(q(i)+1)); end Q; xiwei(p,q,Q,N,zu) 程序二: 再次提醒,以“ xiwei ”为文件名保存, function xiwei(p,q,Q,N,zu) if sum(q)==N disp('Q 值法分配人数: ') q return; else for i=1:zu if Q(i)==max(Q) q(i)=q(i)+1; Q(i)=p(i)*p(i)/(q(i)*(q(i)+1)); break; end end end xiwei(p,q,Q,N,zu)
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。