Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-06-16
帖子: 1
声望力: 0 ![]() |
![]()
x=[0.1359 1.1855 0.800 0.0740;0.0079 0.2087 0.8300 0.0426;0.3937 0.3179 0.8500 0.2047;0.1870 0.2879 0.8800 0.0860]
y=[0.9497;0.9875;0.9935;0.9772]; 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 Aeq=[x(:,i)',zeros(1,s)]; beq=1; f=[zeros(1,m) -y(:,i)']; w(:,i)=linprog(f,a,b,Aeq,beq,LB,UB); Ejj=y(:,i)'*w(m+1:m+s,i); for k=1:n; f=[zeros(1,m) y(:,k)']; Aeq=[x(:,k)' zeros(1,s) F*X(;,I)' -(:,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 E mean(E) [y i]=sort(mean(E)); fliplr(i) 这个程序运行结果应该是个矩阵可是出来是11.哪位高手帮忙看一下子本人刚学matlab 这个ub的上线是怎么确定的还有E_jj的下脚标怎么打上去的估计问题就在这儿希望高手帮忙一下了本人不胜感激。 |
![]() |
![]() |