纵横向拉开档次法的matlab实现.doc
- 文档编号:116303
- 上传时间:2022-10-03
- 格式:DOC
- 页数:6
- 大小:56KB
纵横向拉开档次法的matlab实现.doc
《纵横向拉开档次法的matlab实现.doc》由会员分享,可在线阅读,更多相关《纵横向拉开档次法的matlab实现.doc(6页珍藏版)》请在冰豆网上搜索。
clearall
globalxystdszxystdxy%定义全局变量
loaddata.mat%原始数据
xystd=bzycl(x,y);%数据无量纲处理
[xystdrow,xystdcol]=size(xystd);
%----------区域知识创造能力评价----------
fortt=1:
xystdcol
xystdsz{tt}(:
:
)=xystd{tt}(:
1:
10);%提取区域知识创造能力指标无量纲值
end
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
fori=1:
xycol
w0(1,i)=1/xycol;%优化初始值
end
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);%优化求权重
wqz1=w./sum(w);%权重归一化
fortt=1:
xystdszcol
z{tt}(:
1)=xystd{tt}(:
1:
10)*wqz1';%求评价值
pxacz(:
tt)=px(z{tt}(:
1));%对评价值排序
end
clearw0wlbubfaval;
clearglobalxystdsz;
%--------区域知识流动能力评价------------
fortt=1:
xystdszcol
xystdsz{tt}(:
:
)=xystd{tt}(:
11:
16);%提取区域知识流动能力指标无量纲值
end
globalxystdsz;
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
fori=1:
xycol
w0(1,i)=1/xycol;%优化w初始值
end
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);
wqz2=w./sum(w);%权重归一化
fortt=1:
xystdszcol
z{tt}(:
2)=xystd{tt}(:
11:
16)*wqz2';%求评价值
pxald(:
tt)=px(z{tt}(:
2));%对评价值排序
end
clearw0wlbubfaval;
clearglobalxystdsz;
%-----------企业技术创新能力评价------------
fortt=1:
xystdszcol
xystdsz{tt}(:
:
)=xystd{tt}(:
17:
28);%提取企业技术创新能力指标无量纲值
end
globalxystdsz;
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
fori=1:
xycol
w0(1,i)=1/xycol;%优化w初始值
end
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);
wqz3=w./sum(w);%权重归一化
fortt=1:
xystdszcol
z{tt}(:
3)=xystd{tt}(:
17:
28)*wqz3';%求评价值
pxaqy(:
tt)=px(z{tt}(:
3));%对评价值排序
end
clearw0wlbubfaval;
clearglobalxystdsz;
%-----------创新环境能力评价--------------
fortt=1:
xystdszcol
xystdsz{tt}(:
:
)=xystd{tt}(:
29:
35);%提取创新环境能力指标无量纲值
end
globalxystdsz;
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
fori=1:
xycol
w0(1,i)=1/xycol;%优化w初始值
end
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);
wqz4=w./sum(w);%权重归一化
fortt=1:
xystdszcol
z{tt}(:
4)=xystd{tt}(:
29:
35)*wqz4';%求评价值
pxahj(:
tt)=px(z{tt}(:
4));%对评价值排序
end
clearw0wlbubfaval;
clearglobalxystdsz;
%-------------创新经济绩效能力评价--------------
fortt=1:
xystdszcol
xystdsz{tt}(:
:
)=xystd{tt}(:
36:
42);%提取创新绩效能力指标无量纲值
end
globalxystdsz;
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
fori=1:
xycol
w0(1,i)=1/xycol;%优化w初始值
end
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);
wqz5=w./sum(w);%权重归一化
fortt=1:
xystdszcol
z{tt}(:
5)=xystd{tt}(:
36:
42)*wqz5';%求评价值
pxajx(:
tt)=px(z{tt}(:
5));%对评价值排序
end
%--------求整体综合能力评价排序-----------------
clearw0wlbubfaval;
clearglobalxystdsz;
xystdsz=z;
globalxystdsz;
[xystdszrow,xystdszcol]=size(xystdsz);
[xyrow,xycol]=size(xystdsz{1});
w0=zeros(1,xycol);
Aeq=[];beq=[];
lb=zeros(1,xycol);ub=ones(1,xycol);
options=optimset('largescale','off');
[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);
wqz6=w./sum(w);%权重归一化
forkk=1:
zcol
z(:
kk)=z{kk}*wqz6';%求评价值
pxazz=px(zz);%对评价值排序
end
%----------zzfxcapcity表示各项能力得分-结果-----------
fori=1:
7
forj=1:
5
zzfxcapcity{j}(:
i)=z{i}(:
j);
end
end
zzfxcapcity{6}(:
:
)=zz;
%----------pxafxcapcity表示各项能力排序结果------------
pxafxcapcity{1}=pxacz;
pxafxcapcity{2}=pxald;
pxafxcapcity{3}=pxaqy;
pxafxcapcity{4}=pxahj;
pxafxcapcity{5}=pxajx;
pxafxcapcity{6}=pxazz;
%-------优化程序YHQU.m
functionxysum=YHQU(w,xystdsz)
globalxystdsz
[xystdrow,xystdcol]=size(xystdsz);
[xystdrow1,xystdcol1]=size(xystdsz{1});
fori=1:
xystdcol
forj=1:
xystdrow1
xyvalue(j,i)=xystdsz{i}(j,:
)*w';
end
end
xymean=mean(mean(xyvalue));
fori=1:
xystdrow1%xystdrow1=30
forj=1:
xystdcol%xystdcol=7
xyvar(i,j)=(xyvalue(i,j)-xymean).^2;
end
end
xysum=-sum(sum(xyvar));
%-------排序px..m
functionpxa=px(gyhjg)%px排序.pxa是排序结果,gyhjg是要进行排序的评价值列向量
jga=gyhjg;
[m,n]=size(jga);
forcol=1:
n
fori=1:
m-1
forj=i+1:
m
ifjga(i,col) temp=jga(i,col); jga(i,col)=jga(j,col); jga(j,col)=temp; end end end end forcol=1: n fori=1: m forj=1: m ifgyhjg(i,col)==
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 纵横 拉开 档次 matlab 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)