2021-05-19

  本人在写毕业论文时用到了带有非期望产出的SBM模型测算生态效率,ML指数测算,现将相关经验分享一下。

本篇文章旨在分享用MATLAB测算时用到的代码,代码如下:

采用带有非期望产出的SBM模型测算生态效率代码:

Clc
Clear
X =[  ];%投入指标数据
Y =[];%期望产出指标数据
Z=[];%非期望产出指标数据[m,n]=size(X);
s=size(Y,1);
q=size(Z,1);
D=1./(m*X');
E=1./((s+q)*Y');
F=1./((s+q)*Z');
A=[];b=[];
LB=zeros(n+m+s+q+1,1);UB=[];
theta=zeros(n,1);
w=zeros(n+m+s+q+1,n);
For i=1:n
f=[zeros(1,n) -D(i,:) zeros(1,s+q) 1];
Aeq=[X eye(m) zeros(m,s+q) -X(:,i)
     Y zeros(s,m) -eye(s) zeros(s,q) -Y(:,i)
     Z zeros(q,m) zeros(q,s) eye(q) -Z(:,i)
     zeros(1,n+m) E(i,:) F(i,:) 1];
beq=[zeros(m,1)
     zeros(s,1)     
zeros(q,1)     
  1. ;
[w(:,i) theta(i)]=linprog(f,A,b,Aeq,beq,LB,UB);
End
theta %测算结果

 

接着进行了ML指数测算,ML指数测算代码如下:

data = csvread('C:\Users\PC\Desktop\ML.csv');
X=zeros(9,6,18);
for i=1:162
    X(fix((i-0.1)/18)+1,:,mod(i-1,18)+1)=data(i,1:6);
end
Y=zeros(9,1,18);
for i=1:162
    Y(fix((i-0.1)/18)+1,:,mod(i-1,18)+1)=data(i,7);
end
Yu=zeros(9,2,18);
for i=1:162
    Yu(fix((i-0.1)/18)+1,:,mod(i-1,18)+1)=data(i,8:9);
end
ml = deamalmluen(X, Y, Yu);
deadisp(ml);
T=dea2table(ml);
writetable(T,'C:\Users\PC\Desktop\result.csv')

希望对你有所帮助!!!

 

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值