| 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=[];
 options=optimset('maxiter',1e4,'tolfun',1e-6);
 for i=1:n
 Aeq=[x(:,i)',zeros(1,s)];beq=1;
 f=[zeros(1,m)-y(:,i)'];
 w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
 Eii=y(:,i)'*w(m+1:m+s,i);
 for k=1:n;
 f=[zeros(1,m),y(:,k)'];
 Aeq=[x(:,k)',zeros(1,s);Eii*x(:,i)',-y(:,j)'];
 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
 E
 mean(E)
 [Y 1]=sort(mean(E));
 fliplr(I)
 这是交叉效率,也出错了。请帮忙纠错,并能运行成功。谢谢
 |