资源描述:
《纵横向拉开档次法的MATLAB实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、简介:本文档为《纵横向拉开档次法的MATLAB实现》,可适用于工程科技领域,主题内容包含globalxystdszxystdxy定义全局变量loadshuju原始数据xystd=zscore(shuju)数据无量纲处理xystdrow,符等。globalxystdszxystdxy%定义全局变量loadshuju%原始数据xystd=zscore(shuju);%数据无量纲处理[xystdrow,xystdcol]=size(xystd);%----------区域知识创造能力评价----------fortt=1:xystdc
2、olxystdsz{tt}(:,:)=xystd{tt}(:,1:10);%提取区域知识创造能力指标无量纲值end[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);fori=1:xycolw0(1,i)=1/xycol;%优化初始值endAeq=[];beq=[];lb=zeros(1,xycol);ub=ones(1,xycol);%zeros生成零矩阵;ones生成全1阵。options=optimse
3、t('largescale','off');%优化函数,largescale大规模算法[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options);%优化求权重;fmincon用来求解非线性多元函数最小值。wqz1=w./sum(w);%权重归一化fortt=1:xystdszcolz{tt}(:,1)=xystd{tt}(:,1:10)*wqz1';%求评价值pxacz(:,tt)=px(z{tt}(:,1));%对评价值排序endclearw0wlbubfaval;
4、clearglobalxystdsz;%--------区域知识流动能力评价------------fortt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,11:16);%提取区域知识流动能力指标无量纲值endglobalxystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);fori=1:xycolw0(1,i)=1/xycol;%优化w初始值endAeq=
5、[];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:xystdszcolz{tt}(:,2)=xystd{tt}(:,11:16)*wqz2';%求评价值pxald(:,tt)=px(z{tt}(:,2));%对评价值排序endclearw0
6、wlbubfaval;clearglobalxystdsz;%-----------企业技术创新能力评价------------fortt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,17:28);%提取企业技术创新能力指标无量纲值endglobalxystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);fori=1:xycolw0(1,i)=1/xycol;
7、%优化w初始值endAeq=[];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:xystdszcolz{tt}(:,3)=xystd{tt}(:,17:28)*wqz3';%求评价值pxaqy(:,tt)=px(z{tt}(:,3));%对评
8、价值排序endclearw0wlbubfaval;clearglobalxystdsz;%-----------创新环境能力评价--------------fortt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,29:35)