纵横向拉开档次法的matlab实现

上传人:wt****50 文档编号:39908364 上传时间:2018-05-21 格式:DOC 页数:6 大小:56KB
返回 下载 相关 举报
纵横向拉开档次法的matlab实现_第1页
第1页 / 共6页
纵横向拉开档次法的matlab实现_第2页
第2页 / 共6页
纵横向拉开档次法的matlab实现_第3页
第3页 / 共6页
纵横向拉开档次法的matlab实现_第4页
第4页 / 共6页
纵横向拉开档次法的matlab实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《纵横向拉开档次法的matlab实现》由会员分享,可在线阅读,更多相关《纵横向拉开档次法的matlab实现(6页珍藏版)》请在金锄头文库上搜索。

1、clear all global xystdsz xystd x y %定义全局变量 load data.mat %原始数据 xystd=bzycl(x,y); %数据无量纲处理 xystdrow,xystdcol=size(xystd); %-区域知识创造能力评价- for tt=1:xystdcol xystdsztt(:,:)=xystdtt(:,1:10); %提取区域知识创造能力指标无量纲值 end xystdszrow,xystdszcol=size(xystdsz); xyrow,xycol=size(xystdsz1); w0=zeros(1,xycol); for i=1:x

2、ycolw0(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); %权重归一化 for tt=1:xystdszcolztt(:,1)=xystdtt(:,1:10)*wqz1; % 求评价值pxacz(:,tt)=px(ztt(:,1) ; % 对评价值排序 end clear

3、w0 w lb ub faval ; clear global xystdsz; %-区域知识流动能力评价- for tt=1:xystdszcol xystdsztt(:,:)=xystdtt(:,11:16); %提取区域知识流动能力指标无量纲值 end global xystdsz; xystdszrow,xystdszcol=size(xystdsz); xyrow,xycol=size(xystdsz1); w0=zeros(1,xycol); for i=1:xycolw0(1,i)=1/xycol; % 优化 w 初始值 end Aeq=; beq=; lb=zeros(1,xy

4、col);ub=ones(1,xycol); options =optimset(largescale,off); w,faval=fmincon(YHQU,w0,Aeq,beq,lb,ub,fun,options ); wqz2=w./sum(w); %权重归一化 for tt=1:xystdszcolztt(:,2)=xystdtt(:,11:16)*wqz2; % 求评价值pxald(:,tt)=px(ztt(:,2) ; % 对评价值排序 end clear w0 w lb ub faval ; clear global xystdsz; %-企业技术创新能力评价- for tt=1:

5、xystdszcol xystdsztt(:,:)=xystdtt(:,17:28); %提取企业技术创新能力指标无量纲值 end global xystdsz; xystdszrow,xystdszcol=size(xystdsz); xyrow,xycol=size(xystdsz1); w0=zeros(1,xycol); for i=1:xycolw0(1,i)=1/xycol; % 优化 w 初始值 end Aeq=;beq=; lb=zeros(1,xycol);ub=ones(1,xycol); options =optimset(largescale,off); w,faval

6、=fmincon(YHQU,w0,Aeq,beq,lb,ub,fun,options ); wqz3=w./sum(w); %权重归一化 for tt=1:xystdszcolztt(:,3)=xystdtt(:,17:28)*wqz3; % 求评价值pxaqy(:,tt)=px(ztt(:,3) ; % 对评价值排序 end clear w0 w lb ub faval ; clear global xystdsz; %-创新环境能力评价- for tt=1:xystdszcol xystdsztt(:,:)=xystdtt(:,29:35); %提取创新环境能力指标无量纲值 end glo

7、bal xystdsz; xystdszrow,xystdszcol=size(xystdsz); xyrow,xycol=size(xystdsz1); w0=zeros(1,xycol); for i=1:xycolw0(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); %权重归一化

8、 for tt=1:xystdszcolztt(:,4)=xystdtt(:,29:35)*wqz4; % 求评价值pxahj(:,tt)=px(ztt(:,4) ; % 对评价值排序 end clear w0 w lb ub faval ; clear global xystdsz; %-创新经济绩效能力评价- for tt=1:xystdszcol xystdsztt(:,:)=xystdtt(:,36:42); %提取创新绩效能力指标无量纲值 end global xystdsz; xystdszrow,xystdszcol=size(xystdsz); xyrow,xycol=size

9、(xystdsz1); w0=zeros(1,xycol); for i=1:xycolw0(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); %权重归一化 for tt=1:xystdszcolztt(:,5)=xystdtt(:,36:42)*wqz5; % 求评价值pxajx(:,tt

10、)=px(ztt(:,5) ; % 对评价值排序 end % -求整体综合能力评价排序- clear w0 w lb ub faval ; clear global xystdsz; xystdsz=z; global xystdsz; 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=fminco

11、n(YHQU,w0,Aeq,beq,lb,ub,fun,options ); wqz6=w./sum(w); %权重归一化 for kk=1:zcolz(:,kk)=zkk*wqz6; % 求评价值pxazz=px(zz) ; % 对评价值排序 end %- zzfxcapcity 表示各项能力得分-结果- for i=1:7for j=1:5zzfxcapcityj(:,i)=zi(:,j); end end zzfxcapcity6(:,:)=zz; %- pxafxcapcity 表示各项能力排序结果- pxafxcapcity1=pxacz; pxafxcapcity2=pxald;

12、pxafxcapcity3=pxaqy; pxafxcapcity4=pxahj; pxafxcapcity5=pxajx; pxafxcapcity6=pxazz;%-优化程序 YHQU.m function xysum=YHQU(w,xystdsz) global xystdsz xystdrow,xystdcol=size(xystdsz); xystdrow1,xystdcol1=size(xystdsz1); for i=1:xystdcolfor j=1:xystdrow1xyvalue(j,i)=xystdszi(j,:)*w;end end xymean=mean(mean(x

13、yvalue); for i=1:xystdrow1 %xystdrow1=30for j=1:xystdcol %xystdcol=7xyvar(i,j)=(xyvalue(i,j)-xymean).2;end end xysum=-sum(sum(xyvar); %-排序 px.m function pxa=px(gyhjg) % px 排序.pxa 是排序结果,gyhjg 是要进行排序的评价值列向量 jga=gyhjg; m,n=size(jga); for col=1:nfor i=1:m-1for j=i+1:mif jga(i,col)0m=m1; %表示待评价对象数 else i

14、f n20m=m2;end end for t=1:ycol if n20xyt(:,1:n2)=yt; end if n10xmin=min(xt);xmax=max(xt);for i=1:n1for j=1:mxyt(j,n2+1:n1+n2)=xmax(i)+xmin(i)-xt(j,i); %对逆向指标进行处理;endend end xyflag=all(xyt=zeros(m,n); %判断是否存在 xy(j,i)0xymin=min(xyt); for i=1:nif xyflag(i)=0for j=1:mxyt(j,i)=xyt(j,i)-xymin(i); %对 xy(j,i)0 的指标进行平移处理,使所有指 标非负endend end xysumt=sum(xyt); %列求和 xystdt=xyt./xysumt(ones(m,1),:); %进行列和等于 11 归一化处理 xystdt=m*xystdt; %避免由于待评价对象 m 很

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号