声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2117|回复: 3

[综合讨论] [求助]matlab解数据包络分析问题

[复制链接]
发表于 2006-4-2 23:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-4-3 11:20 | 显示全部楼层

回复:(bobosky)经管学生的matlab问题

任何一个程序他都不是通用的,都有一定的限制,最好自己搞懂理论,然后自己针对具体的问题写程序<BR><BR>LINPROG是线性规划的一个函数<BR><BR>这里出现越界应该是LINPROG叠带达到了最大值还没有达到收敛精度的要求<BR><BR>这你可以在option中设置,建议在用这些东西之前最好对它有一定的了解<BR><BR>否则就算作出来了也不一定有什么意义

评分

1

查看全部评分

 楼主| 发表于 2006-4-3 12:12 | 显示全部楼层

谢谢你的回复

感谢你的建议,你所说的也不无道理,要是大家都是全才就什么问题都解决了
发表于 2006-4-3 15:40 | 显示全部楼层

回复:(bobosky)经管学生的matlab问题

<P>这个和全才无关,掌握一门基本的编程语言是起码的是做研究的基本条件之一(可能人文方面的专业除外)。更何况matlab还很难算上是一种语言</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-20 21:33 , Processed in 0.058735 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表