马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我是学经济管理的研究生,我在一篇文章里看到一个用matlab来解数据包络分析(dea)的<br>程序,在应用这一程序的过程中出现以下问题:<br>当我的评价单元较少时,一切正常,没有任何问题,可当评价单元有30个时,matlab就会提示迭代<br>次数超过限制,不能输出结果,我对matlab一窍不通,因此特向各位大侠请教,先在此谢过!<br>程序如下:<br>clear<br>X=[57.52 14.86 30.43 28.14 6.80 8.53 7.22 4.06 28.68 6.75 17.00 6.62 18.86 19.12 23.08 21.14 12.11 22.21 25.75 8.65 7.05 11.78 7.36 10.79 11.83 10.11 5.77 12.32 7.36 15.04;10.60 0.84 1.04 1.05 0.27 0.92 0.44 0.35 11.22 0.93 5.73 0.52 1.40 1.17 1.01 0.65 0.80 2.19 1.55 0.95 0.74 0.79 0.52 0.61 0.41 0.64 0.15 0.47 0.29 0.73];<br>Y=[14.34 27.95 29.95 35.83 18.87 75.49 28.71 56.63 80.10 91.57 316.72 59.52 151.17 48.08 132.93 38.77 127.23 62.24 87.12 247.29 52.13 95.73 161.06 74.09 43.09 130.97 76.22 35.33 40.02 14.29;3.15 2.77 0.52 0.78 5.51 1.07 0.87 1.44 16.96 10.03 10.00 2.68 1.43 1.35 1.87 1.59 1.19 0.86 1.22 0.98 1.17 0.81 1.15 1.53 1.01 1.94 1.92 1.32 16.72 6.51;94.59 99.37 97.39 96.75 96.88 98.42 99.59 99.49 97.99 99.35 99.23 97.30 99.65 97.92 99.33 99.06 97.88 98.53 99.67 99.24 96.65 96.90 97.20 98.23 98.91 94.14 96.04 91.82 92.48 98.09]; <br>n=size (X .',1);m=size(X,1);s=size(Y,1);<br>A=[-X.' Y.']; b=zeros(n,1);<br>LB=zeros(m+s,1);UB=[];<br>for i=1:n;<br> Aeq=[X(:,i) .' zeros(1,s)];beq=1;<br> f=[zeros(1,m) -Y(:,i).'];<br> w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB);<br> Eii=Y(:,i) .'*w(m+1:m+s,i);<br> for k=1:n;<br> f=[zeros(1,m) Y(:,k) .'];<br> Aeq=[X(:,k).' zeros(1,s) <br> Eii*X(:,i).' -Y(:,i) .'];<br> beq=[1<br> 0];<br> v=LINPROG(f,A,b,Aeq,beq,LB,UB);<br> E(i,k)=(Y(:,k).'*v(m+1:m+s))/(X(:,k) .'*v(1:m));<br> end<br>end<br>E<br>Mean(E)<br>[Y I]=sort(mean(E));<br>fliplr(I);<br>
[此贴子已经被aspen于2006-4-3 16:42:24编辑过]
[ 本帖最后由 xuebx 于 2006-9-16 09:31 编辑 ] |