我最近在写毕业论文,参考了
利用MATLAB进行DEA交叉评价分析 《西南民族大学学报:自然科学版》用里面的方法加上后面给的数据测试了下,如下
>> clear
>> X=[30 60 55 40 70;25 40 70 30 90;130 150 120 70 180];
>> Y=[35 43 76 52 63;60 80 53 42 71];
>> n=size(X',1);m=size(X,1);s=size(Y,1);
>> A=[-X' Y'];
>> b=zeros(n,1);
>> LB=zeros(m+s,1);UB=[];
>> for i=1:n;
f=[zeros(1,m) -Y(:,i)'];
Aeq=[X(:,i)' zeros(1,s)];
beq=1;
w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB);
E(i,i)=Y(:,i)'*w(m+1:m+s,i);
for k=1:n;
f=[zeros(1,m) Y(:,k)'];
Aeq=[X(:,k)' zeros(1,s) E(i,i)*X(:,i)' -Y(:,i)'];
beq=[1 0];
v= LINPROG(f,A,b,Aeq,beq,LB,UB);
E(i,k)=(Y(:,k)'*v(m+1:m+s))/(X(:,k)'*v(1:m));
end
end
但是出现错误,
Optimization terminated.
??? Error using ==> linprog
The number of rows in Aeq must be the same as the length of beq.
我对MATLAB本身一窍不通,是我输入的时候什么地方输错了吗,求大神指教!!万分感谢!