(完整版)纵横向拉开档次法的MATLAB实现
Matlab求解层次分析法程序代码【求解步骤+代码】
层次分析法1)建立层次结构模型:(2)构造判断矩阵判断矩阵()ij A a =应为正互反矩阵,而且ij a 的判断如下(1~9尺度法):(3)单层排序及一致性检验1、单层排序求解判断矩阵A 的最大特征值max λ,再由最大特征值求出对应的特征向量ω()max A ωλω=,并将ω标准化,即为同一层相对于上一层某一因素的权重,根据此权重的大小,便可确定该层因素的排序。
2、一致性检验取一致性指标max 1nCI n λ-=-,(n 为A 的阶数)令CR RI=,若0.1CR <,则认为A 具有一致性。
否则,需要对A 进行调整,直到具有满意的一致性为止。
(4)层次总排序及一致性检验假定准则层12,,,n C C C 排序完成,其权重分别为12,,,n a a a ,方案层P 包含m 个方案:12,,,m P P P 。
其相对于上一层的()1,2,,j C j n =对方案层P 中的m 个方案进行单层排序,其排序权重记为12,,,j j mj b b b ()1,2,,j n =,则方案层P 中第i 个方案Pi 的总排序权重为1nj ijj a b=∑,见下表:从而确定层的排序。
例:纯文本文件txt3.txt 中的数据格式如下:1 1 1 4 1 1/2 1 1 2 4 1 1/2 1 1/2 1 53 1/2 1/4 1/4 1/5 1 1/3 1/3 1 1 1/3 3 1 1 2 2 2 3 3 1 1 1/4 1/24 1 32 1/3 11 1/4 1/54 1 1/25 2 11 3 1/31/3 1 1/73 7 11 1/3 53 1 71/5 1/7 11 1 71 1 71/7 1/7 11 7 91/7 1 11/9 1 1matlab程序:>> fid=fopen('txt3.txt','r');n1=6;n2=3;a=[];for i=1:n1tmp=str2num(fgetl(fid));a=[a;tmp]; %读准则层判断矩阵endfor i=1:n1str1=char(['b',int2str(i),'=[];']);str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']); eval(str1);for j=1:n2tmp=str2num(fgetl(fid));eval(str2); %读方案层的判断矩阵endendri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标[x,y]=eig(a);lamda=max(diag(y));num=find(diag(y)==lamda);w0=x(:,num)/sum(x(:,num));cr0=(lamda-n1)/(n1-1)/ri(n1)for i=1:n1[x,y]=eig(eval(char(['b',int2str(i)])));lamda=max(diag(y));num=find(diag(y)==lamda);w1(:,i)=x(:,num)/sum(x(:,num));cr1(i)=(lamda-n2)/(n2-1)/ri(n2);endcr1, ts=w1*w0, cr=cr1*w0层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法实例与步骤结合一个具体例子,说明层次分析法的基本步骤和要点。
Matlab技术进阶指南
Matlab技术进阶指南引言:Matlab是一种强大且广泛使用的数学软件,被广泛应用于科学研究、工程设计、数据分析和机器学习等领域。
对于初学者来说,掌握基本的Matlab语法和功能可能并不太难,但要将其应用于实际问题并发挥出最大的威力,就需要进一步深入理解和掌握Matlab的高级技术。
本文将为读者提供一份Matlab技术进阶指南,帮助读者进一步利用Matlab解决实际问题。
一、函数句柄的应用Matlab中函数句柄是一种允许程序员使用函数作为变量的机制。
通过理解并灵活应用函数句柄,可以实现更加优雅和高效的Matlab编程。
例如,在一些算法中需要传递函数作为参数,这时可以使用函数句柄来实现。
此外,还可以通过函数句柄实现动态函数调用,提高程序的灵活性和可扩展性。
二、向量化操作在Matlab中,向量化操作可以大大提高程序的计算效率。
相比于使用循环遍历每个元素,向量化操作通过对整个向量或矩阵进行操作,减少了循环的次数,从而大幅提高了计算速度。
向量化操作可以通过Matlab提供的一些函数来实现,如sum、mean、dot等,同时也可以通过使用Matlab中的矩阵运算符来实现。
三、面向对象编程Matlab不仅可以通过脚本文件实现简单的程序,还可以使用面向对象编程(OOP)的方式进行程序设计。
面向对象编程将程序中的数据和操作封装到对象中,使得程序的结构更加清晰、易于理解和维护。
Matlab提供了面向对象的编程机制,包括类、对象、方法和属性等,通过灵活使用这些特性,可以实现更加模块化和可扩展的程序。
四、并行计算随着计算机的发展,多核处理器成为现代计算机的常见配置。
为了充分利用多核处理器的计算能力,Matlab提供了并行计算功能,支持多线程和分布式计算。
通过并行计算,可以加速计算过程,提高程序的性能。
Matlab的并行计算功能可以通过Parallel Computing Toolbox来实现,通过合理地利用并行计算,可以大幅减少程序的运行时间。
基于纵横向拉开档次法的电子商务在线信誉评价模型
S2
x 21 (t1)x 22 (t1)⋯x 2m (t1)
从几何角度来看,n 个被评价对象可以看成是由 m 个
⋮
⋮
评价指标构成的 n 维评价空间中的 n 个点;寻求 n 个被
Sn
x n1 (t1)x n2 (t1)⋯x nm (t1)
评价对象的评价值就相当于把这 n 个点向某一维空间
m
y = ∑w j x j = w T x
(1)
j=1
⋮
⋮
x n1 (t 2 )x n2 (t 2 )⋯x nm (t 2 ) ⋯ x N1 (t N )x N2 (t N )⋯x Nm (t N )
综合评价,表示为:
y(t k )= f [w1 (t k ), w 2 (t k ), ⋯, w m (t k ); x i1 (t k ), x i2 (t k ), ⋯, x im (t k )],
[⋮] ú, k = 1, 2, ⋯, N
ú
x nm (t k )û
(9)
若限定 w T w = 1 ,当取得 w 为矩阵 H 的最大特征值
λ max (H) 所 对 应 的 特 征 向 量 时 ,σ 2 取 最 大 值 ,且 有
电子商务环境下的在线信誉问题,采用拉开档次法从理
max
w T Hw = λ max (H)。当 H k > 0(k = 1, 2, ⋯, N) 时,
weight can make the difference bigger between the evaluated sides as much as possible in vertical and horizontal directions,and
can dynamically reflect the credibility of sellers,so that the reputation value changes with time.
matlab 拟合阶梯函数
一、简介Matlab是工程领域最常用的计算软件之一,它具有强大的数据处理和分析功能,适用于各种科学和工程计算。
在Matlab中,拟合阶梯函数是一项常见的数据处理任务,它可以用于拟合具有阶梯状特征的数据,如市场需求预测、生产进度预测等领域。
二、拟合阶梯函数的原理在Matlab中,拟合阶梯函数的原理主要基于最小二乘法。
最小二乘法是一种数学优化方法,用于确定模型参数以最小化观测数据与模型预测值之间的误差平方和。
对于阶梯函数而言,最小二乘法可以帮助我们确定阶梯的位置、幅度和宽度,从而更好地拟合实际数据。
三、拟合阶梯函数的步骤拟合阶梯函数的步骤主要包括数据导入、模型建立和拟合参数求解。
具体步骤如下:1. 数据导入需要将待拟合的数据导入Matlab环境中。
这可以通过readtable或csvread等函数实现,将数据以矩阵或表格的形式加载到Matlab中。
2. 模型建立接下来,需要建立阶梯函数的拟合模型。
在Matlab中,阶梯函数可以用step函数表示,其一般形式为y = stepfun(x, t),其中x为自变量,t为阶梯的位置。
3. 拟合参数求解利用Matlab中的拟合函数(如lsqcurvefit)对阶梯函数模型进行拟合,求解阶梯位置、幅度和宽度等参数。
四、拟合阶梯函数的应用拟合阶梯函数在实际应用中具有广泛的应用价值。
以市场需求预测为例,可以利用历史销售数据拟合阶梯函数,从而预测未来市场需求的变化趋势。
在生产进度预测、人口增长预测等领域,拟合阶梯函数也能够提供有价值的预测和分析结果。
五、案例分析下面以一个简单的案例来展示如何在Matlab中拟合阶梯函数。
假设有如下数据需要拟合:x = [1, 2, 3, 4, 5, 6, 7];y = [0, 0, 1, 1, 2, 2, 3];导入数据到Matlab中:data = table(x', y', 'VariableNames', {'x', 'y'});建立阶梯函数模型:model = (p, x) p(1) * stepfun(x, 2) + p(2) * stepfun(x, 4); 利用lsqcurvefit函数对模型进行拟合,求解参数:p0 = [1, 1];params = lsqcurvefit(model, p0, data.x, data.y);绘制拟合结果:x_fit = 1:0.1:7;y_fit = model(params, x_fit);plot(data.x, data.y, 'o', x_fit, y_fit, '-');通过以上案例可以看出,利用Matlab拟合阶梯函数可以得到较好的拟合效果,为实际数据分析和预测提供了有力的工具支持。
一种体现发展趋势的动态综合评价方法
一种体现发展趋势的动态综合评价方法易平涛;周义;郭亚军;李伟伟【摘要】Aiming to consider the development trend of the evaluation index in dynamic comprehensive evalua-tion,the paper constructs a dynamic comprehensive evaluation model of development tendency considering the in-fluences of the evaluation index development tendency,index weights and time weights.The development factor is defined to denote the development trend of the evaluation index.On the basis of scatter degree,the attribute weights are obtained via the method to the minimize the sum of squares of deviations.Additionally,the time weights are determined by the model of time function which implies laying more stress on the present information than on the past.Finally,the model is applied to evaluate the degree of the macro economic development of west-ern China.%针对动态综合评价中没有考虑被评价对象指标的发展趋势的问题,综合考虑评价指标的发展趋势、指标权重和时间权重的影响,构建了一种体现发展趋势的动态综合评价模型。
纵横向拉开档次法的MATLAB实现
简介:本文档为《纵横向拉开档次法的MATLAB实现》,可适用于工程科技领域,主题内容包含globalxystdszxystdxy定义全局变量loadshuju原始数据xystd=zscore(shuju)数据无量纲处理xystdrow,符等。
global xystdsz xystd x y %定义全局变量load shuju %原始数据xystd= zscore (shuju); %数据无量纲处理[xystdrow,xystdcol]=size(xystd);%----------区域知识创造能力评价----------for tt=1:xystdcolxystdsz{tt}(:,:)=xystd{tt}(:,1:10); %提取区域知识创造能力指标无量纲值end[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化初始值endAeq=[]; beq=[];lb=zeros(1,xycol);ub=ones(1,xycol); %zeros生成零矩阵;ones生成全1阵。
options =optimset('largescale','off'); %优化函数,largescale大规模算法[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options ); %优化求权重;fmincon用来求解非线性多元函数最小值。
wqz1=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,1)=xystd{tt}(:,1:10)*wqz1'; % 求评价值pxacz(:,tt)=px(z{tt}(:,1)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%--------区域知识流动能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,11:16); %提取区域知识流动能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,2)=xystd{tt}(:,11:16)*wqz2'; % 求评价值pxald(:,tt)=px(z{tt}(:,2)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------企业技术创新能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,17:28); %提取企业技术创新能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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); %权重归一化for tt=1:xystdszcolz{tt}(:,3)=xystd{tt}(:,17:28)*wqz3'; % 求评价值pxaqy(:,tt)=px(z{tt}(:,3)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------创新环境能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,29:35); %提取创新环境能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,4)=xystd{tt}(:,29:35)*wqz4'; % 求评价值pxahj(:,tt)=px(z{tt}(:,4)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-------------创新经济绩效能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,36:42); %提取创新绩效能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );wqz5=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,5)=xystd{tt}(:,36:42)*wqz5'; % 求评价值pxajx(:,tt)=px(z{tt}(:,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]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options );wqz6=w./sum(w); %权重归一化for kk=1:zcolz(:,kk)=z{kk}*wqz6'; % 求评价值pxazz=px(zz) ; % 对评价值排序end%---------- zzfxcapcity表示各项能力得分-结果-----------for i=1:7for j=1:5zzfxcapcity{j}(:,i)=z{i}(:,j);endendzzfxcapcity{6}(:,:)=zz;%---------- pxafxcapcity表示各项能力排序结果------------pxafxcapcity{1}=pxacz;pxafxcapcity{2}=pxald;pxafxcapcity{3}=pxaqy;pxafxcapcity{4}=pxahj;pxafxcapcity{5}=pxajx;pxafxcapcity{6}=pxazz;%-------优化程序YHQU.mfunction xysum=YHQU(w,xystdsz)global xystdsz[xystdrow,xystdcol]=size(xystdsz);[xystdrow1,xystdcol1]=size(xystdsz{1});for i=1:xystdcolfor j=1:xystdrow1xyvalue(j,i)=xystdsz{i}(j,:)*w';endendxymean=mean(mean(xyvalue));for i=1:xystdrow1 %xystdrow1=30for j=1:xystdcol %xystdcol=7xyvar(i,j)=(xyvalue(i,j)-xymean).^2;endendxysum=-sum(sum(xyvar));%-------排序px..mfunction 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)<jga(j,col)temp=jga(i,col);jga(i,col)=jga(j,col);jga(j,col)=temp;endendendfor col=1:nfor i=1:mfor j=1:mif gyhjg(i,col)==jga(j,col)pxa(i,col)=j;% comtinueendendendend%-----约束条件fun.mfunction [c,ceq]=fun(w)ceq=w*w'-1;c=[];%----------改进归一法bzycl.m----------function xystd=bzycl(x,y)% bzycl改进的归一方法,是本系统默认采用的对指标值进行标准化处理的方法,% x是逆向指标值矩阵,通过xmax+xmin-x转化为正向指标;y是正向指标值矩阵;% 如果存在负数指标值通过xy-min(xy)进行转化;最后利用列和归一化处理,考虑待评价数m很大时,xystd值很小,所以乘以m.% xystd是标准化处理后的指标值[yrow,ycol]=size(y);[m1,n1]=size(x{1}); % m1表示x的行数,n1表示x的列数,逆向指标个数[m2,n2]=size(y{1}); % n2表示正向指标个数n=n1+n2; %n表示指标数if n1>0m=m1; %表示待评价对象数else if n2>0m=m2;endendfor t=1:ycolif n2>0xy{t}(:,1:n2)=y{t};endif n1>0xmin=min(x{t});xmax=max(x{t});for i=1:n1for j=1:mxy{t}(j,n2+1:n1+n2)=xmax(i)+xmin(i)-x{t}(j,i); %对逆向指标进行处理;endendxyflag=all(xy{t}>=zeros(m,n)); %判断是否存在xy(j,i)<0xymin=min(xy{t});for i=1:nif xyflag(i)==0for j=1:mxy{t}(j,i)=xy{t}(j,i)-xymin(i); %对xy(j,i)<0的指标进行平移处理,使所有指标非负endendendxysum{t}=sum(xy{t}); %列求和xystd{t}=xy{t}./xysum{t}(ones(m,1),:); %进行列和等于11归一化处理xystd{t}=m*xystd{t}; %避免由于待评价对象m很大时,xystd值很小,所以乘以m end。
Matlab命令汇总完整版全集详解珍藏版-含附录-按字母排列
m 红紫色 o 空心圆形 p 五角星形
c 蓝紫色 * 星号 h 六角星形
sin( ) 正弦(变量为弧度)
Cot( ) 余切(变量为弧度)
sind( ) 正弦(变量为度数)
Cotd( ) 余切(变量为度数)
asin( ) 反正弦(返回弧度)
acot( ) 反余切(返回弧度)
Asind( ) 反正弦(返回度数)
inv 矩阵的逆
det 矩阵的行列式值
trace 矩阵对角元素的和
norm 矩阵或矢量的范数,norm(a,1),norm(a,Inf)…….
normest 估计矩阵的最大范数矢量
五、图像绘制:
1、基本绘图函数
plot 绘制二维线性图形和两个坐标轴
plot3 绘制三维线性图形和两个坐标轴
fplot 在制定区间绘制某函数的图像。fplot(‘f’,区域,线型,颜色)
loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形
diag() 根据向量创建对角矩阵,即以向量的元素为对角元素
magic() 创建魔方矩阵
rand() 创建随机矩阵,服从均匀分布
randn() 创建随机矩阵,服从正态分布
randperm() 创建随机行向量
horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)
Esc Ctrl+U 清除一行
Del Ctrl+D 清除光标所在的字符
Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾
matlab三边测量算法横纵坐标图解=
球面短程线计算公式
L R
①输入经纬度数据和地球半径; ②转换两城市的经纬度为地心直角坐标数据; ③提取两个点的向径坐标; ④计算向径间的夹角和短程线长度并输出计算结果。
10/22
按顺序录入程序文件(文件名:distance.m)
16/22
————程序设计中的流程控制————
例2.14 3n + 1 问题. 对任一自然数n,按如下法则进行运算:若n为偶数, 则将n除2;若n为奇数,则将n乘3加1。将运算结果按 上面法则继续运算, 重复若干次后结果最终是1.
n=input(‘input n=’); %输入数据 while n~=1 r=rem(n,2); %求n/2的余数 if r = =0 n=n/2 %第一种操作 else n=3*n+1 %第二种操作 end end n=5 16, 8, 4, 2, 1
7/22
例2.3直线平行于Z轴沿x-y平面上的四边形移动,形 成四边形柱面。利用矩阵方法绘制四边形柱面.
设四边形顶点为(-1, -1), (1, -1), (1, 1), (-1, 1).由于四边 形是封闭的图形,将第五个点设为第一个点。设柱面 高为1,创建Z坐标矩阵
0 0 0 0 0 Z 1 1 1 1 1
R=6400; S0=4*pi*R*R; d=10000; S=2*pi*R*R*d/(R+d); S/S0*100
6/22
M文件分为命令文件和函数文件两种
命令文件——MATLAB命令的有序集合。 文件执行——对文件中命令进行批处理,即从第一 条命令开始按顺序执行,直到最后一条命令。如果 中间某条命令出错,则中断并输出错误信息 ①在编辑窗口中编写; ②保存并对文件命名; ③命令窗口键入文件 名运行; ④观察运行结果; · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
科技金融发展指数的测度及其相关特征分析
JRYJJ科技金融发展指数的测度及其相关特征分析[摘要]基于2009—2017年中我国省级面板数据,构建指标体系测度我国各地区科技金融发展的现状,并使用马尔可夫链、泰尔指数和莫兰指数分析了我国科技金融发展的动态变化、内部差异和空间分布情况。
研究发现:第一,我国整体科技金融发展水平不高。
东部地区的高水平与中西部地区的低水平两极分化较大。
科技金融发展子系统中科技金融产出较好,科技金融基础较差。
第二,科技金融发展较为稳定,一年后大都维持在原来等级。
但低质量地区有一定概率会向上转移,而高质量地区向下转移的整体概率较小。
第三,从总体差异看,2009—2017年我国科技金融发展指数差异呈现下降趋势,说明科技金融发展的差异性在不断缩小。
从结构分解看,地区内差异占比较大,对地区内差异进一步分解,东部地区对总体差异贡献率最大,西部次之,中部最小。
第四,从空间分布情况看,科技金融发展呈现出正向聚集特征,科技金融发展较高的地区周边省份科技金融发展也较好,科技金融发展较差的省份周边省份科技金融的发展也较差,科技金融发展存在着空间溢出性。
[关键词]科技金融;动态变化;空间分布[中图分类号]F832[文献标识码]A[文章编号]1006-169X (2020)12-0042-07DOI :10.19622/36-1005/f.2020.12.005[基金项目]国家自然科学基金项目“复杂性视角下民生系统的综合评价研究——以江西为例”(71663024);全国统计科学研究项目“中国数字经济产出效率的时空演变及影响机制研究”(2020LY038);江西财经大学2019年度研究生创新专项资金项目“我国省域经济高质量发展的测度和动态综合评价”。
[作者简介]徐宇明(1993—),江西南昌人,江西财经大学统计学院,博士研究生,研究方向为科技金融和经济统计(江西南昌330013);熊琦哲(1991—),江西南昌人,江西省信息中心,硕士,研究方向为经济统计(江西南昌330036);蒋筠(1971-),江西九江人,中国人民银行九江市中心支行,研究方向为金融学(江西九江332000)。
matlab命令大全(按字母排序) 总汇详解最新发布完整珍藏版
abs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align启动图形对象几何位置排列工具all 所有元素非零为真angle 相角ans 表达式计算结果的缺省变量名any所有元素非全零为真area 面域图argnames 函数M文件宗量名asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦assignin 向变量赋值atan 反正切atan2 四象限反正切atanh 反双曲正切autumn 红黄调秋色图阵axes 创建轴对象的低层指令axis 控制轴刻度和风格的高层指令B bbar 二维直方图bar3 三维直方图bar3h 三维水平直方图barh二维水平直方图base2dec X进制转换为十进制bin2dec 二进制转换为十进制blanks 创建空格串蓝色调黑白色图阵box 框状坐标轴break while 或for 环中断指令brighten 亮度控制C ccapture (3版以前)捕获当前图形cart2pol 直角坐标变为极或柱坐标cart2sph 直角坐标变为球坐标cat 串接成高维数组caxis 色标尺刻度cd 指定当前目录cdedit启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整cell 创建元胞数组cell2struct 元胞数组转换为构架数组celldisp 显示元胞数组内容cellplot 元胞数组内部结构图示char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数chi2inv 分布逆累计概率函数chi2pdf 分布概率密度函数chi2rnd 分布随机数发生器chol Cholesky分解clabel 等位线标识cla 清除当前轴class 获知对象类别或创建对象clc 清除指令窗clear 清除内存变量和函数clf清除图对象clock 时钟colorcube 三浓淡多彩交叉色图矩阵colordef 设置色彩缺省值colormap色图colspace 列空间的基close 关闭指定窗口colperm 列排序置换向量comet 彗星状轨迹图comet3 三维彗星轨迹图compass 射线图compose 求复合函数cond (逆)条件数condeig计算特征值、特征向量同时给出条件数condest 范 -1条件数估计conj 复数共轭contour 等位线contourf 填色等位线contour3 三维等位线contourslice 四维切片等位线图conv 多项式乘、卷积cool 青紫调冷色图copper 古铜调色图cos 余弦cosh 双曲余弦cot 余切coth双曲余切cplxpair 复数共轭成对排列csc 余割csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D ddblquad 二重数值积分deal 分配宗量deblank 删去串尾部的空格符dec2base 十进制转换为X进制dec2bin 十进制转换为二进制dec2hex 十进制转换为十六进制deconv 多项式除、解卷delaunay Delaunay 三角剖分del2离散Laplacian差分demo Matlab演示det 行列式diag 矩阵对角元素提取、创建对角阵diaryMatlab指令窗文本内容记录diff 数值差分、符号微分digits 符号计算中设置符号数值的精度dir 目录列表disp 显示数组display 显示对象内容的重载函数dlinmod 离散系统的线性化模型dmperm矩阵Dulmage-Mendelsohn 分解dos 执行DOS 指令并返回结果double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕dsolve 符号计算解微分方程E eechoM文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显示出错信息并中断执行errortrap错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令ezmeshc画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F ffactor 符号计算的因式分解feather 羽毛图feedback 反馈连接feval 执行由串指定的函数fft 离散Fourier变换fft2 二维离散Fourier变换fftn 高维离散Fourier变换fftshift直流分量对中的谱fieldnames 构架域名figure 创建图形窗fill3 三维多边形填色图find寻找非零元素下标findobj 寻找具有指定属性的对象图柄findstr 寻找短串的起始字符下标findsym机器确定内存中的符号变量finverse 符号计算中求反函数fix 向零取整flag 红白蓝黑交错色图阵fliplr矩阵的左右翻转flipud 矩阵的上下翻转flipdim 矩阵沿指定维翻转floor 向负无穷取整flops浮点运算次数flow Matlab提供的演示数据fmin 求单变量非线性函数极小值点(旧版)fminbnd求单变量非线性函数极小值点fmins 单纯形法求多变量函数极小值点(旧版)fminunc 拟牛顿法求多变量函数极小值点fminsearch 单纯形法求多变量函数极小值点fnder 对样条函数求导fnint 利用样条函数求积分fnval计算样条函数区间内任意一点的值fnplt 绘制样条函数图形fopen 打开外部文件for 构成for环用format设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield获知构架数组的域getframe 获取影片的帧画面ginput 从图形窗获取数据global 定义全局变量gplot依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南hex2dec十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist频数计算或频数直方图histc 端点定位频数直方图histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式hot 黑红黄白色图hsv 饱和色图I iif-else-elseif 条件分支结构ifft 离散Fourier反变换ifft2 二维离散Fourier反变换ifftn 高维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显示图象imagesc 显示亮度图象imfinfo 获取图形文件信息imread 从文件读取图象imwrite 把imwrite 把图象写成文件ind2sub 单下标转变为多下标inf 无穷大info MathWorks公司网点地址inline 构造内联函数对象inmem 列出内存中的函数名input 提示用户输入inputname 输入宗量名int 符号积分int2str 把整数数组转换为串数组interp1 一维插值interp2 二维插值interp3 三维插值interpn N维插值interpft 利用FFT插值intro Matlab自带的入门引导inv 求矩阵逆invhilb Hilbert矩阵的准确逆ipermute 广义反转置isa 检测是否给定类的对象ischar 若是字符串则为真isequal 若两数组相同则为真isempty 若是空阵则为真isfinite若全部元素都有限则为真isfield 若是构架域则为真isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执行IEEE规则则为真isinf 若是无穷数据则为真isletter 若是英文字母则为真islogical 若是逻辑数组则为真ismember 检查是否属于指定集isnan若是非数则为真isnumeric 若是数值数组则为真isobject 若是对象则为真isprime 若是质数则为真isreal 若是实数则为真isspace 若是空格则为真issparse 若是稀疏矩阵则为真isstruct若是构架则为真isstudent 若是Matlab学生版则为真iztrans 符号计算Z反变换J j , K kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和色jordan 符号计算中获得 Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产生的数组L llaplaceLaplace变换lasterr 显示最新出错信息lastwarn 显示最新警告信息leastsq 解非线性最小二乘问题(旧版)legend 图形图例lighting 照明模式line 创建线对象lines 采用plot 画线色linmod获连续系统的线性化模型linmod2 获连续系统的线性化精良模型linspace 线性等分向量ln 矩阵自然对数load从MAT文件读取变量log 自然对数log10 常用对数log2 底为2的对数loglog 双对数刻度图形logm 矩阵对数logspace 对数分度向量lookfor 按关键字搜索M文件lower 转换为小写字母lsqnonlin 解非线性最小二乘问题lu LU分解M mmad 平均绝对值偏差magic 魔方阵maple &nb, sp; 运作 Maple格式指令mat2str 把数值数组转换成输入形态串数组material 材料反射模式max 找向量中最大元素mbuild 产生EXE文件编译环境的预设置指令mcc创建MEX或EXE文件的编译指令mean 求向量元素的平均值median 求中位数menuedit启动设计用户菜单的交互式编辑工具mesh 网线图meshz 垂帘网线图meshgrid 产生"格点"矩阵methods获知对指定类定义的所有方法函数mex 产生MEX文件编译环境的预设置指令mfunlis 能被mfun计算的MAPLE经典函数列表mhelp 引出 Maple的在线帮助min 找向量中最小元素mkdir 创建目录mkpp 逐段多项式数据的明晰化mod 模运算more 指令窗中内容的分页显示movie 放映影片动画moviein 影片帧画面的内存预置mtaylor 符号计算多变量Taylor级数展开N nndims 求数组维数NaN非数(预定义)变量nargchk 输入宗量数验证nargin 函数输入宗量数nargout 函数输出宗量数ndgrid产生高维格点矩阵newplot 准备新的缺省图、轴nextpow2 取最接近的较大2次幂nnz 矩阵的非零元素总数nonzeros 矩阵的非零元素norm 矩阵或向量范数normcdf 正态分布累计概率密度函数normest估计矩阵2范数norminv 正态分布逆累计概率密度函数normpdf 正态分布概率密度函数normrnd 正态随机数发生器notebook 启动Matlab和Word的集成环境null 零空间num2str 把非整数数组转换为串numden获取最小公分母和相应的分子表达式nzmax 指定存放非零元素所需内存O oode1 非Stiff微分方程变步长解算器ode15s Stiff 微分方程变步长解算器ode23t 适度Stiff 微分方程解算器ode23tbStiff 微分方程解算器ode45 非Stiff 微分方程变步长解算器odefile ODE 文件模板odeget 获知ODE选项设置参数odephas2 ODE 输出函数的二维相平面图odephas3 ODE 输出函数的三维相空间图odeplot ODE输出函数的时间轨迹图odeprint 在Matlab指令窗显示结果odeset 创建或改写 ODE选项构架参数值ones 全1数组optimset 创建或改写优化泛函指令的选项参数值orient 设定图形的排放方式orth 值空间正交化P ppack 收集Matlab内存碎块扩大内存pagedlg 调出图形排版对话框patch创建块对象path 设置Matlab搜索路径的指令pathtool 搜索路径管理器pause 暂停pcode创建预解译P码文件pcolor 伪彩图peaks Matlab提供的典型三维曲面permute 广义转置pi(预定义变量)圆周率pie 二维饼图pie3 三维饼图pink 粉红色图矩阵pinv 伪逆plot 平面线图plot3 三维线图plotmatrix 矩阵的散点图plotyy 双纵坐标图poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发生器pol2cart 极或柱坐标变为直角坐标polar 极坐标图poly矩阵的特征多项式、根集对应的多项式poly2str 以习惯方式显示多项式poly2sym 双精度多项式系数转变为向量符号多项式polyder 多项式导数polyfit 数据的多项式拟合polyval 计算多项式的值polyvalm 计算矩阵多项式pow2 2的幂ppval 计算分段多项式pretty 以习惯方式显示符号表达式print 打印图形或SIMULINK模型printsys 以习惯方式显示有理分式prism 光谱色图矩阵procread 向MAPLE输送计算程序profile函数文件性能评估器propedit 图形对象属性编辑器pwd 显示当前工作目录Q qquad低阶法计算数值积分quad8 高阶法计算数值积分(QUADL)quit 推出Matlab 环境quiver 二维方向箭头图quiver3 三维方向箭头图R rrand 产生均匀分布随机数randn 产生正态分布随机数randperm 随机置换向量range 样本极差rank 矩阵的秩rats 有理输出rcond矩阵倒条件数估计real 复数的实部reallog 在实数域内计算自然对数realpow 在实数域内计算乘方realsqrt 在实数域内计算平方根realmax 最大正浮点数realmin 最小正浮点数rectangle画"长方框"rem 求余数repmat 铺放模块数组reshape 改变数组维数、大小residue 部分分式展开return 返回ribbon 把二维曲线画成三维彩带图rmfield 删去构架的域roots 求多项式的根rose 数扇形图rot90 矩阵旋转90度rotate 指定的原点和方向旋转rotate3d启动三维图形视角的交互设置功能round 向最近整数圆整rref 简化矩阵为梯形形式rsf2csf实数块对角阵转为复数特征值对角阵rsums Riemann和S ssave 把内存变量保存为文件scatter 散点图scatter3 三维散点图sec 正割sech 双曲正割semilogxX轴对数刻度坐标图semilogy Y轴对数刻度坐标图series 串联连接set 设置图形对象属性setfield设置构架数组的域setstr 将ASCII码转换为字符的旧版指令sign 根据符号取值函数signum 符号计算中的符号取值函数sim 运行SIMULINK模型simget 获取SIMULINK模型设置的仿真参数simple 寻找最短形式的符号解simplify 符号计算中进行简化操作simset 对SIMULINK模型的仿真参数进行设置simulink启动SIMULINK模块库浏览器sin 正弦sinh 双曲正弦size 矩阵的大小slice 立体切片图solve 求代数方程的符号解spalloc 为非零元素配置内存sparse 创建稀疏矩阵spconvert把外部数据转换为稀疏矩阵spdiags 稀疏对角阵spfun 求非零元素的函数值sph2cart 球坐标变为直角坐标sphere 产生球面spinmap 色图彩色的周期变化spline 样条插值spones 用1置换非零元素sprandsym 稀疏随机对称阵sprank 结构秩spring 紫黄调春色图sprintf 把格式数据写成串spy 画稀疏结构图sqrt 平方根sqrtm 方根矩阵squeeze 删去大小为1的"孤维"sscanf按指定格式读串stairs 阶梯图std 标准差stem 二维杆图step 阶跃响应指令str2double串转换为双精度值str2mat 创建多行串数组str2num 串转换为数strcat 接成长串strcmp 串比较strjust 串对齐strmatch 搜索指定串strncmp 串中前若干字符比较strrep 串替换strtok 寻找第一间隔符前的内容struct 创建构架数组struct2cell 把构架转换为元胞数组strvcat创建多行串数组sub2ind 多下标转换为单下标subexpr 通过子表达式重写符号对象subplot 创建子图subs符号计算中的符号变量置换subspace 两子空间夹角sum 元素和summer 绿黄调夏色图superiorto设定优先级surf 三维着色表面图surface 创建面对象surfc 带等位线的表面图surfl 带光照的三维表面图surfnorm 空间表面的法线svd 奇异值分解svds 求指定的若干奇异值switch-case-otherwise多分支结构sym2poly 符号多项式转变为双精度多项式系数向量symmmd 对称最小度排序symrcm反向Cuthill-McKee排序syms 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进行Taylor逼近分析的交互界面text 文字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot画树图tril 下三角阵trim 求系统平衡点trimesh 不规则格点网线图trisurf 不规则格点表面图 triu上三角阵 try-catch 控制流中的Try-catch结构 type 显示M文件U uuicontextmenu 创建现场菜单uicontrol 创建用户控件uimenu 创建用户菜单unmkpp 逐段多项式数据的反明晰化unwrap 自然态相角upper 转换为大写字母V vvar 方差varargin 变长度输入宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view三维图形的视角控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W wwarning 显示警告信息what 列出当前目录上的文件whatsnew 显示Matlab中 Readme文件的内容which 确定函数、文件的位置while 控制流中的While环结构white 全白色图矩阵whitebg指定轴的背景色who 列出内存中的变量名whos 列出内存中变量的详细信息winter 蓝绿调冬色图workspace启动内存浏览器X x , Y y , Z zxlabel X轴名xor 或非逻辑yesinput智能输入指令ylabel Y轴名zeros 全零数组zlabel Z轴名zoom 图形的变焦放大和缩小ztrans 符号计算Z变换。
(完整版)纵横向拉开档次法的MATLAB实现
简介:本文档为《纵横向拉开档次法的MATLAB实现》,可适用于工程科技领域,主题内容包含globalxystdszxystdxy定义全局变量loadshuju原始数据xystd=zscore(shuju)数据无量纲处理xystdrow,符等。
globalxystdsz xystd x y%定义全局变量load shuju%原始数据xystd=zscore(shuju);%数据无量纲处理[xystdrow,xystdcol]=size(xystd);%----------区域知识创造能力评价----------for tt=1:xystdcolxystdsz{tt}(:,:)=xystd{tt}(:,1:10); %提取区域知识创造能力指标无量纲值end[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; %优化初始值endAeq=[]; beq=[];lb=zeros(1,xycol);ub=ones(1,xycol);%zeros生成零矩阵;ones生成全1阵。
options =optimset('largescale','off');%优化函数,largescale大规模算法[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options ); %优化求权重;fmincon用来求解非线性多元函数最小值。
wqz1=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,1)=xystd{tt}(:,1:10)*wqz1';%求评价值pxacz(:,tt)=px(z{tt}(:,1)) ;%对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%--------区域知识流动能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,11:16); %提取区域知识流动能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; %优化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 );wqz2=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,2)=xystd{tt}(:,11:16)*wqz2';%求评价值pxald(:,tt)=px(z{tt}(:,2)) ;%对评价值排序endclearw0 w lb ub faval ;clear global xystdsz;%-----------企业技术创新能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,17:28); %提取企业技术创新能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; %优化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); %权重归一化for tt=1:xystdszcolz{tt}(:,3)=xystd{tt}(:,17:28)*wqz3';%求评价值pxaqy(:,tt)=px(z{tt}(:,3)) ;%对评价值排序endclearw0 w lb ub faval ;clear global xystdsz;%-----------创新环境能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,29:35); %提取创新环境能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; %优化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 ); wqz4=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,4)=xystd{tt}(:,29:35)*wqz4';%求评价值pxahj(:,tt)=px(z{tt}(:,4)) ;%对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-------------创新经济绩效能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,36:42); %提取创新绩效能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; %优化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 ); wqz5=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,5)=xystd{tt}(:,36:42)*wqz5';%求评价值pxajx(:,tt)=px(z{tt}(:,5)) ;%对评价值排序end% --------求整体综合能力评价排序-----------------clearw0 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]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options );wqz6=w./sum(w); %权重归一化for kk=1:zcolz(:,kk)=z{kk}*wqz6';%求评价值pxazz=px(zz) ;%对评价值排序end%---------- zzfxcapcity表示各项能力得分-结果----------- for i=1:7for j=1:5zzfxcapcity{j}(:,i)=z{i}(:,j);endendzzfxcapcity{6}(:,:)=zz;%---------- pxafxcapcity表示各项能力排序结果------------ pxafxcapcity{1}=pxacz;pxafxcapcity{2}=pxald;pxafxcapcity{3}=pxaqy;pxafxcapcity{4}=pxahj;pxafxcapcity{5}=pxajx;pxafxcapcity{6}=pxazz;%-------优化程序YHQU.mfunction xysum=YHQU(w,xystdsz)globalxystdsz[xystdrow,xystdcol]=size(xystdsz);[xystdrow1,xystdcol1]=size(xystdsz{1});for i=1:xystdcolfor j=1:xystdrow1xyvalue(j,i)=xystdsz{i}(j,:)*w';endendxymean=mean(mean(xyvalue));for i=1:xystdrow1%xystdrow1=30for j=1:xystdcol%xystdcol=7xyvar(i,j)=(xyvalue(i,j)-xymean).^2;endendxysum=-sum(sum(xyvar));%-------排序px..mfunction 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)<jga(j,col) temp=jga(i,col);jga(i,col)=jga(j,col);jga(j,col)=temp;endendendendfor col=1:nfor i=1:mfor j=1:mif gyhjg(i,col)==jga(j,col) pxa(i,col)=j;%comtinueendendendend%-----约束条件fun.m function [c,ceq]=fun(w) ceq=w*w'-1;c=[];%----------改进归一法bzycl.m----------function xystd=bzycl(x,y)% bzycl改进的归一方法,是本系统默认采用的对指标值进行标准化处理的方法,% x是逆向指标值矩阵,通过xmax+xmin-x转化为正向指标;y是正向指标值矩阵;%如果存在负数指标值通过xy-min(xy)进行转化;最后利用列和归一化处理,考虑待评价数m很大时,xystd值很小,所以乘以m.% xystd是标准化处理后的指标值[yrow,ycol]=size(y);[m1,n1]=size(x{1});% m1表示x的行数,n1表示x的列数,逆向指标个数[m2,n2]=size(y{1});% n2表示正向指标个数n=n1+n2;%n表示指标数if n1>0m=m1;%表示待评价对象数else if n2>0m=m2;endendfor t=1:ycolif n2>0xy{t}(:,1:n2)=y{t};endif n1>0xmin=min(x{t});xmax=max(x{t});for i=1:n1for j=1:mxy{t}(j,n2+1:n1+n2)=xmax(i)+xmin(i)-x{t}(j,i);%对逆向指标进行处理;endendendxyflag=all(xy{t}>=zeros(m,n));%判断是否存在xy(j,i)<0xymin=min(xy{t});for i=1:nif xyflag(i)==0for j=1:mxy{t}(j,i)=xy{t}(j,i)-xymin(i);%对xy(j,i)<0的指标进行平移处理,使所有指标非负endendendxysum{t}=sum(xy{t});%列求和xystd{t}=xy{t}./xysum{t}(ones(m,1),:);%进行列和等于11归一化处理xystd{t}=m*xystd{t};%避免由于待评价对象m很大时,xystd值很小,所以乘以mend11/ 11。
matlab命令大全(按字母排序) 总汇详解最新发布完整珍藏版
abs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align启动图形对象几何位置排列工具all 所有元素非零为真angle 相角ans 表达式计算结果的缺省变量名any所有元素非全零为真area 面域图argnames 函数M文件宗量名asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦assignin 向变量赋值atan 反正切atan2 四象限反正切atanh 反双曲正切autumn 红黄调秋色图阵axes 创建轴对象的低层指令axis 控制轴刻度和风格的高层指令B bbar 二维直方图bar3 三维直方图bar3h 三维水平直方图barh二维水平直方图base2dec X进制转换为十进制bin2dec 二进制转换为十进制blanks 创建空格串蓝色调黑白色图阵box 框状坐标轴break while 或for 环中断指令brighten 亮度控制C ccapture (3版以前)捕获当前图形cart2pol 直角坐标变为极或柱坐标cart2sph 直角坐标变为球坐标cat 串接成高维数组caxis 色标尺刻度cd 指定当前目录cdedit启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整cell 创建元胞数组cell2struct 元胞数组转换为构架数组celldisp 显示元胞数组内容cellplot 元胞数组内部结构图示char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数chi2inv 分布逆累计概率函数chi2pdf 分布概率密度函数chi2rnd 分布随机数发生器chol Cholesky分解clabel 等位线标识cla 清除当前轴class 获知对象类别或创建对象clc 清除指令窗clear 清除内存变量和函数clf清除图对象clock 时钟colorcube 三浓淡多彩交叉色图矩阵colordef 设置色彩缺省值colormap色图colspace 列空间的基close 关闭指定窗口colperm 列排序置换向量comet 彗星状轨迹图comet3 三维彗星轨迹图compass 射线图compose 求复合函数cond (逆)条件数condeig计算特征值、特征向量同时给出条件数condest 范 -1条件数估计conj 复数共轭contour 等位线contourf 填色等位线contour3 三维等位线contourslice 四维切片等位线图conv 多项式乘、卷积cool 青紫调冷色图copper 古铜调色图cos 余弦cosh 双曲余弦cot 余切coth双曲余切cplxpair 复数共轭成对排列csc 余割csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D ddblquad 二重数值积分deal 分配宗量deblank 删去串尾部的空格符dec2base 十进制转换为X进制dec2bin 十进制转换为二进制dec2hex 十进制转换为十六进制deconv 多项式除、解卷delaunay Delaunay 三角剖分del2离散Laplacian差分demo Matlab演示det 行列式diag 矩阵对角元素提取、创建对角阵diaryMatlab指令窗文本内容记录diff 数值差分、符号微分digits 符号计算中设置符号数值的精度dir 目录列表disp 显示数组display 显示对象内容的重载函数dlinmod 离散系统的线性化模型dmperm矩阵Dulmage-Mendelsohn 分解dos 执行DOS 指令并返回结果double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕dsolve 符号计算解微分方程E eechoM文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显示出错信息并中断执行errortrap错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令ezmeshc画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F ffactor 符号计算的因式分解feather 羽毛图feedback 反馈连接feval 执行由串指定的函数fft 离散Fourier变换fft2 二维离散Fourier变换fftn 高维离散Fourier变换fftshift直流分量对中的谱fieldnames 构架域名figure 创建图形窗fill3 三维多边形填色图find寻找非零元素下标findobj 寻找具有指定属性的对象图柄findstr 寻找短串的起始字符下标findsym机器确定内存中的符号变量finverse 符号计算中求反函数fix 向零取整flag 红白蓝黑交错色图阵fliplr矩阵的左右翻转flipud 矩阵的上下翻转flipdim 矩阵沿指定维翻转floor 向负无穷取整flops浮点运算次数flow Matlab提供的演示数据fmin 求单变量非线性函数极小值点(旧版)fminbnd求单变量非线性函数极小值点fmins 单纯形法求多变量函数极小值点(旧版)fminunc 拟牛顿法求多变量函数极小值点fminsearch 单纯形法求多变量函数极小值点fnder 对样条函数求导fnint 利用样条函数求积分fnval计算样条函数区间内任意一点的值fnplt 绘制样条函数图形fopen 打开外部文件for 构成for环用format设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield获知构架数组的域getframe 获取影片的帧画面ginput 从图形窗获取数据global 定义全局变量gplot依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南hex2dec十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist频数计算或频数直方图histc 端点定位频数直方图histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式hot 黑红黄白色图hsv 饱和色图I iif-else-elseif 条件分支结构ifft 离散Fourier反变换ifft2 二维离散Fourier反变换ifftn 高维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显示图象imagesc 显示亮度图象imfinfo 获取图形文件信息imread 从文件读取图象imwrite 把imwrite 把图象写成文件ind2sub 单下标转变为多下标inf 无穷大info MathWorks公司网点地址inline 构造内联函数对象inmem 列出内存中的函数名input 提示用户输入inputname 输入宗量名int 符号积分int2str 把整数数组转换为串数组interp1 一维插值interp2 二维插值interp3 三维插值interpn N维插值interpft 利用FFT插值intro Matlab自带的入门引导inv 求矩阵逆invhilb Hilbert矩阵的准确逆ipermute 广义反转置isa 检测是否给定类的对象ischar 若是字符串则为真isequal 若两数组相同则为真isempty 若是空阵则为真isfinite若全部元素都有限则为真isfield 若是构架域则为真isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执行IEEE规则则为真isinf 若是无穷数据则为真isletter 若是英文字母则为真islogical 若是逻辑数组则为真ismember 检查是否属于指定集isnan若是非数则为真isnumeric 若是数值数组则为真isobject 若是对象则为真isprime 若是质数则为真isreal 若是实数则为真isspace 若是空格则为真issparse 若是稀疏矩阵则为真isstruct若是构架则为真isstudent 若是Matlab学生版则为真iztrans 符号计算Z反变换J j , K kjacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和色jordan 符号计算中获得 Jordan标准型keyboard 键盘获得控制权kron Kronecker乘法规则产生的数组L llaplaceLaplace变换lasterr 显示最新出错信息lastwarn 显示最新警告信息leastsq 解非线性最小二乘问题(旧版)legend 图形图例lighting 照明模式line 创建线对象lines 采用plot 画线色linmod获连续系统的线性化模型linmod2 获连续系统的线性化精良模型linspace 线性等分向量ln 矩阵自然对数load从MAT文件读取变量log 自然对数log10 常用对数log2 底为2的对数loglog 双对数刻度图形logm 矩阵对数logspace 对数分度向量lookfor 按关键字搜索M文件lower 转换为小写字母lsqnonlin 解非线性最小二乘问题lu LU分解M mmad 平均绝对值偏差magic 魔方阵maple &nb, sp; 运作 Maple格式指令mat2str 把数值数组转换成输入形态串数组material 材料反射模式max 找向量中最大元素mbuild 产生EXE文件编译环境的预设置指令mcc创建MEX或EXE文件的编译指令mean 求向量元素的平均值median 求中位数menuedit启动设计用户菜单的交互式编辑工具mesh 网线图meshz 垂帘网线图meshgrid 产生"格点"矩阵methods获知对指定类定义的所有方法函数mex 产生MEX文件编译环境的预设置指令mfunlis 能被mfun计算的MAPLE经典函数列表mhelp 引出 Maple的在线帮助min 找向量中最小元素mkdir 创建目录mkpp 逐段多项式数据的明晰化mod 模运算more 指令窗中内容的分页显示movie 放映影片动画moviein 影片帧画面的内存预置mtaylor 符号计算多变量Taylor级数展开N nndims 求数组维数NaN非数(预定义)变量nargchk 输入宗量数验证nargin 函数输入宗量数nargout 函数输出宗量数ndgrid产生高维格点矩阵newplot 准备新的缺省图、轴nextpow2 取最接近的较大2次幂nnz 矩阵的非零元素总数nonzeros 矩阵的非零元素norm 矩阵或向量范数normcdf 正态分布累计概率密度函数normest估计矩阵2范数norminv 正态分布逆累计概率密度函数normpdf 正态分布概率密度函数normrnd 正态随机数发生器notebook 启动Matlab和Word的集成环境null 零空间num2str 把非整数数组转换为串numden获取最小公分母和相应的分子表达式nzmax 指定存放非零元素所需内存O oode1 非Stiff微分方程变步长解算器ode15s Stiff 微分方程变步长解算器ode23t 适度Stiff 微分方程解算器ode23tbStiff 微分方程解算器ode45 非Stiff 微分方程变步长解算器odefile ODE 文件模板odeget 获知ODE选项设置参数odephas2 ODE 输出函数的二维相平面图odephas3 ODE 输出函数的三维相空间图odeplot ODE输出函数的时间轨迹图odeprint 在Matlab指令窗显示结果odeset 创建或改写 ODE选项构架参数值ones 全1数组optimset 创建或改写优化泛函指令的选项参数值orient 设定图形的排放方式orth 值空间正交化P ppack 收集Matlab内存碎块扩大内存pagedlg 调出图形排版对话框patch创建块对象path 设置Matlab搜索路径的指令pathtool 搜索路径管理器pause 暂停pcode创建预解译P码文件pcolor 伪彩图peaks Matlab提供的典型三维曲面permute 广义转置pi(预定义变量)圆周率pie 二维饼图pie3 三维饼图pink 粉红色图矩阵pinv 伪逆plot 平面线图plot3 三维线图plotmatrix 矩阵的散点图plotyy 双纵坐标图poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发生器pol2cart 极或柱坐标变为直角坐标polar 极坐标图poly矩阵的特征多项式、根集对应的多项式poly2str 以习惯方式显示多项式poly2sym 双精度多项式系数转变为向量符号多项式polyder 多项式导数polyfit 数据的多项式拟合polyval 计算多项式的值polyvalm 计算矩阵多项式pow2 2的幂ppval 计算分段多项式pretty 以习惯方式显示符号表达式print 打印图形或SIMULINK模型printsys 以习惯方式显示有理分式prism 光谱色图矩阵procread 向MAPLE输送计算程序profile函数文件性能评估器propedit 图形对象属性编辑器pwd 显示当前工作目录Q qquad低阶法计算数值积分quad8 高阶法计算数值积分(QUADL)quit 推出Matlab 环境quiver 二维方向箭头图quiver3 三维方向箭头图R rrand 产生均匀分布随机数randn 产生正态分布随机数randperm 随机置换向量range 样本极差rank 矩阵的秩rats 有理输出rcond矩阵倒条件数估计real 复数的实部reallog 在实数域内计算自然对数realpow 在实数域内计算乘方realsqrt 在实数域内计算平方根realmax 最大正浮点数realmin 最小正浮点数rectangle画"长方框"rem 求余数repmat 铺放模块数组reshape 改变数组维数、大小residue 部分分式展开return 返回ribbon 把二维曲线画成三维彩带图rmfield 删去构架的域roots 求多项式的根rose 数扇形图rot90 矩阵旋转90度rotate 指定的原点和方向旋转rotate3d启动三维图形视角的交互设置功能round 向最近整数圆整rref 简化矩阵为梯形形式rsf2csf实数块对角阵转为复数特征值对角阵rsums Riemann和S ssave 把内存变量保存为文件scatter 散点图scatter3 三维散点图sec 正割sech 双曲正割semilogxX轴对数刻度坐标图semilogy Y轴对数刻度坐标图series 串联连接set 设置图形对象属性setfield设置构架数组的域setstr 将ASCII码转换为字符的旧版指令sign 根据符号取值函数signum 符号计算中的符号取值函数sim 运行SIMULINK模型simget 获取SIMULINK模型设置的仿真参数simple 寻找最短形式的符号解simplify 符号计算中进行简化操作simset 对SIMULINK模型的仿真参数进行设置simulink启动SIMULINK模块库浏览器sin 正弦sinh 双曲正弦size 矩阵的大小slice 立体切片图solve 求代数方程的符号解spalloc 为非零元素配置内存sparse 创建稀疏矩阵spconvert把外部数据转换为稀疏矩阵spdiags 稀疏对角阵spfun 求非零元素的函数值sph2cart 球坐标变为直角坐标sphere 产生球面spinmap 色图彩色的周期变化spline 样条插值spones 用1置换非零元素sprandsym 稀疏随机对称阵sprank 结构秩spring 紫黄调春色图sprintf 把格式数据写成串spy 画稀疏结构图sqrt 平方根sqrtm 方根矩阵squeeze 删去大小为1的"孤维"sscanf按指定格式读串stairs 阶梯图std 标准差stem 二维杆图step 阶跃响应指令str2double串转换为双精度值str2mat 创建多行串数组str2num 串转换为数strcat 接成长串strcmp 串比较strjust 串对齐strmatch 搜索指定串strncmp 串中前若干字符比较strrep 串替换strtok 寻找第一间隔符前的内容struct 创建构架数组struct2cell 把构架转换为元胞数组strvcat创建多行串数组sub2ind 多下标转换为单下标subexpr 通过子表达式重写符号对象subplot 创建子图subs符号计算中的符号变量置换subspace 两子空间夹角sum 元素和summer 绿黄调夏色图superiorto设定优先级surf 三维着色表面图surface 创建面对象surfc 带等位线的表面图surfl 带光照的三维表面图surfnorm 空间表面的法线svd 奇异值分解svds 求指定的若干奇异值switch-case-otherwise多分支结构sym2poly 符号多项式转变为双精度多项式系数向量symmmd 对称最小度排序symrcm反向Cuthill-McKee排序syms 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进行Taylor逼近分析的交互界面text 文字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot画树图tril 下三角阵trim 求系统平衡点trimesh 不规则格点网线图trisurf 不规则格点表面图 triu上三角阵 try-catch 控制流中的Try-catch结构 type 显示M文件U uuicontextmenu 创建现场菜单uicontrol 创建用户控件uimenu 创建用户菜单unmkpp 逐段多项式数据的反明晰化unwrap 自然态相角upper 转换为大写字母V vvar 方差varargin 变长度输入宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view三维图形的视角控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W wwarning 显示警告信息what 列出当前目录上的文件whatsnew 显示Matlab中 Readme文件的内容which 确定函数、文件的位置while 控制流中的While环结构white 全白色图矩阵whitebg指定轴的背景色who 列出内存中的变量名whos 列出内存中变量的详细信息winter 蓝绿调冬色图workspace启动内存浏览器X x , Y y , Z zxlabel X轴名xor 或非逻辑yesinput智能输入指令ylabel Y轴名zeros 全零数组zlabel Z轴名zoom 图形的变焦放大和缩小ztrans 符号计算Z变换。
matlab 最速梯度
matlab 最速梯度标题:深入理解与实现Matlab中最速梯度法一、引言最速梯度法,也称为最快下降法或梯度下降法,是一种在优化问题中寻找局部最小值的迭代算法。
在Matlab中,这种方法被广泛应用在机器学习、信号处理、图像处理等领域。
本文将详细解析最速梯度法的原理,并通过Matlab代码一步步展示其实现过程。
二、最速梯度法的基本原理最速梯度法的基本思想是沿着目标函数梯度的反方向进行搜索,因为梯度的方向是函数值增大的最快方向,所以其反方向则是函数值减小的最快方向。
在每次迭代中,我们都会根据当前点的梯度更新下一个搜索点的位置,直到达到某个停止条件为止。
数学表达式如下:x(k+1) = x(k) - α(k) * ∇f(x(k))其中,x(k) 是当前的搜索点,α(k) 是步长(学习率),∇f(x(k)) 是目标函数在x(k)处的梯度。
三、Matlab中实现最速梯度法的步骤以下是在Matlab中实现最速梯度法的步骤:1. 定义目标函数:首先,我们需要明确我们要优化的目标函数。
在Matlab 中,我们可以直接定义一个函数来表示目标函数。
matlabfunction f = myFunction(x)f = x^2 + 10*sin(x);end在这个例子中,我们的目标函数是x的平方加上10倍的sin(x)。
2. 初始化参数:我们需要初始化一些参数,包括初始点x的值,学习率α,以及最大迭代次数maxIter。
matlabx = 1; 初始点alpha = 0.1; 学习率maxIter = 1000; 最大迭代次数3. 计算梯度:我们需要计算目标函数在每个迭代点处的梯度。
在Matlab 中,我们可以使用symbolic toolbox或者数值微分的方法来计算梯度。
matlabsyms xf = x^2 + 10*sin(x);grad_f = diff(f, x); 使用symbolic toolbox计算梯度grad_f_num = gradient(myFunction, x); 使用数值微分计算梯度4. 实现迭代过程:在主循环中,我们根据梯度更新搜索点的位置,并检查是否达到停止条件。
(完整版)纵横向拉开档次法的MATLAB实现
简介:本文档为《纵横向拉开档次法的MATLAB实现》,可适用于工程科技领域,主题内容包含globalxystdszxystdxy定义全局变量loadshuju原始数据xystd=zscore(shuju)数据无量纲处理xystdrow,符等。
global xystdsz xystd x y %定义全局变量load shuju %原始数据xystd= zscore (shuju); %数据无量纲处理[xystdrow,xystdcol]=size(xystd);%----------区域知识创造能力评价----------for tt=1:xystdcolxystdsz{tt}(:,:)=xystd{tt}(:,1:10); %提取区域知识创造能力指标无量纲值end[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化初始值endAeq=[]; beq=[];lb=zeros(1,xycol);ub=ones(1,xycol); %zeros生成零矩阵;ones生成全1阵。
options =optimset('largescale','off'); %优化函数,largescale大规模算法[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options ); %优化求权重;fmincon用来求解非线性多元函数最小值。
wqz1=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,1)=xystd{tt}(:,1:10)*wqz1'; % 求评价值pxacz(:,tt)=px(z{tt}(:,1)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%--------区域知识流动能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,11:16); %提取区域知识流动能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,2)=xystd{tt}(:,11:16)*wqz2'; % 求评价值pxald(:,tt)=px(z{tt}(:,2)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------企业技术创新能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,17:28); %提取企业技术创新能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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); %权重归一化for tt=1:xystdszcolz{tt}(:,3)=xystd{tt}(:,17:28)*wqz3'; % 求评价值pxaqy(:,tt)=px(z{tt}(:,3)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------创新环境能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,29:35); %提取创新环境能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,4)=xystd{tt}(:,29:35)*wqz4'; % 求评价值pxahj(:,tt)=px(z{tt}(:,4)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-------------创新经济绩效能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,36:42); %提取创新绩效能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );wqz5=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,5)=xystd{tt}(:,36:42)*wqz5'; % 求评价值pxajx(:,tt)=px(z{tt}(:,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]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options );wqz6=w./sum(w); %权重归一化for kk=1:zcolz(:,kk)=z{kk}*wqz6'; % 求评价值pxazz=px(zz) ; % 对评价值排序end%---------- zzfxcapcity表示各项能力得分-结果-----------for i=1:7for j=1:5zzfxcapcity{j}(:,i)=z{i}(:,j);endendzzfxcapcity{6}(:,:)=zz;%---------- pxafxcapcity表示各项能力排序结果------------pxafxcapcity{1}=pxacz;pxafxcapcity{2}=pxald;pxafxcapcity{3}=pxaqy;pxafxcapcity{4}=pxahj;pxafxcapcity{5}=pxajx;pxafxcapcity{6}=pxazz;%-------优化程序YHQU.mfunction xysum=YHQU(w,xystdsz)global xystdsz[xystdrow,xystdcol]=size(xystdsz);[xystdrow1,xystdcol1]=size(xystdsz{1});for i=1:xystdcolfor j=1:xystdrow1xyvalue(j,i)=xystdsz{i}(j,:)*w';endendxymean=mean(mean(xyvalue));for i=1:xystdrow1 %xystdrow1=30for j=1:xystdcol %xystdcol=7xyvar(i,j)=(xyvalue(i,j)-xymean).^2;endendxysum=-sum(sum(xyvar));%-------排序px..mfunction 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)<jga(j,col)temp=jga(i,col);jga(i,col)=jga(j,col);jga(j,col)=temp;endendendfor col=1:nfor i=1:mfor j=1:mif gyhjg(i,col)==jga(j,col)pxa(i,col)=j;% comtinueendendendend%-----约束条件fun.mfunction [c,ceq]=fun(w)ceq=w*w'-1;c=[];%----------改进归一法bzycl.m----------function xystd=bzycl(x,y)% bzycl改进的归一方法,是本系统默认采用的对指标值进行标准化处理的方法,% x是逆向指标值矩阵,通过xmax+xmin-x转化为正向指标;y是正向指标值矩阵;% 如果存在负数指标值通过xy-min(xy)进行转化;最后利用列和归一化处理,考虑待评价数m很大时,xystd值很小,所以乘以m.% xystd是标准化处理后的指标值[yrow,ycol]=size(y);[m1,n1]=size(x{1}); % m1表示x的行数,n1表示x的列数,逆向指标个数[m2,n2]=size(y{1}); % n2表示正向指标个数n=n1+n2; %n表示指标数if n1>0m=m1; %表示待评价对象数else if n2>0m=m2;endendfor t=1:ycolif n2>0xy{t}(:,1:n2)=y{t};endif n1>0xmin=min(x{t});xmax=max(x{t});for i=1:n1for j=1:mxy{t}(j,n2+1:n1+n2)=xmax(i)+xmin(i)-x{t}(j,i); %对逆向指标进行处理;endendxyflag=all(xy{t}>=zeros(m,n)); %判断是否存在xy(j,i)<0xymin=min(xy{t});for i=1:nif xyflag(i)==0for j=1:mxy{t}(j,i)=xy{t}(j,i)-xymin(i); %对xy(j,i)<0的指标进行平移处理,使所有指标非负endendendxysum{t}=sum(xy{t}); %列求和xystd{t}=xy{t}./xysum{t}(ones(m,1),:); %进行列和等于11归一化处理xystd{t}=m*xystd{t}; %避免由于待评价对象m很大时,xystd值很小,所以乘以m end。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简介:本文档为《纵横向拉开档次法的MATLAB实现》,可适用于工程科技领域,主题内容包含globalxystdszxystdxy定义全局变量loadshuju原始数据xystd=zscore(shuju)数据无量纲处理xystdrow,符等。
global xystdsz xystd x y %定义全局变量load shuju %原始数据xystd= zscore (shuju); %数据无量纲处理[xystdrow,xystdcol]=size(xystd);%----------区域知识创造能力评价----------for tt=1:xystdcolxystdsz{tt}(:,:)=xystd{tt}(:,1:10); %提取区域知识创造能力指标无量纲值end[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化初始值endAeq=[]; beq=[];lb=zeros(1,xycol);ub=ones(1,xycol); %zeros生成零矩阵;ones生成全1阵。
options =optimset('largescale','off'); %优化函数,largescale大规模算法[w,faval]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options ); %优化求权重;fmincon用来求解非线性多元函数最小值。
wqz1=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,1)=xystd{tt}(:,1:10)*wqz1'; % 求评价值pxacz(:,tt)=px(z{tt}(:,1)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%--------区域知识流动能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,11:16); %提取区域知识流动能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,2)=xystd{tt}(:,11:16)*wqz2'; % 求评价值pxald(:,tt)=px(z{tt}(:,2)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------企业技术创新能力评价------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,17:28); %提取企业技术创新能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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); %权重归一化for tt=1:xystdszcolz{tt}(:,3)=xystd{tt}(:,17:28)*wqz3'; % 求评价值pxaqy(:,tt)=px(z{tt}(:,3)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-----------创新环境能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,29:35); %提取创新环境能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );for tt=1:xystdszcolz{tt}(:,4)=xystd{tt}(:,29:35)*wqz4'; % 求评价值pxahj(:,tt)=px(z{tt}(:,4)) ; % 对评价值排序endclear w0 w lb ub faval ;clear global xystdsz;%-------------创新经济绩效能力评价--------------for tt=1:xystdszcolxystdsz{tt}(:,:)=xystd{tt}(:,36:42); %提取创新绩效能力指标无量纲值endglobal xystdsz;[xystdszrow,xystdszcol]=size(xystdsz);[xyrow,xycol]=size(xystdsz{1});w0=zeros(1,xycol);for i=1:xycolw0(1,i)=1/xycol; % 优化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 );wqz5=w./sum(w); %权重归一化for tt=1:xystdszcolz{tt}(:,5)=xystd{tt}(:,36:42)*wqz5'; % 求评价值pxajx(:,tt)=px(z{tt}(:,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]=fmincon(@YHQU,w0,[],[],Aeq,beq,lb,ub,@fun,options );wqz6=w./sum(w); %权重归一化for kk=1:zcolz(:,kk)=z{kk}*wqz6'; % 求评价值pxazz=px(zz) ; % 对评价值排序end%---------- zzfxcapcity表示各项能力得分-结果-----------for i=1:7for j=1:5zzfxcapcity{j}(:,i)=z{i}(:,j);endendzzfxcapcity{6}(:,:)=zz;%---------- pxafxcapcity表示各项能力排序结果------------pxafxcapcity{1}=pxacz;pxafxcapcity{2}=pxald;pxafxcapcity{3}=pxaqy;pxafxcapcity{4}=pxahj;pxafxcapcity{5}=pxajx;pxafxcapcity{6}=pxazz;%-------优化程序YHQU.mfunction xysum=YHQU(w,xystdsz)global xystdsz[xystdrow,xystdcol]=size(xystdsz);[xystdrow1,xystdcol1]=size(xystdsz{1});for i=1:xystdcolfor j=1:xystdrow1xyvalue(j,i)=xystdsz{i}(j,:)*w';endendxymean=mean(mean(xyvalue));for i=1:xystdrow1 %xystdrow1=30for j=1:xystdcol %xystdcol=7xyvar(i,j)=(xyvalue(i,j)-xymean).^2;endendxysum=-sum(sum(xyvar));%-------排序px..mfunction 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)<jga(j,col)temp=jga(i,col);jga(i,col)=jga(j,col);jga(j,col)=temp;endendendfor col=1:nfor i=1:mfor j=1:mif gyhjg(i,col)==jga(j,col)pxa(i,col)=j;% comtinueendendendend%-----约束条件fun.mfunction [c,ceq]=fun(w)ceq=w*w'-1;c=[];%----------改进归一法bzycl.m----------function xystd=bzycl(x,y)% bzycl改进的归一方法,是本系统默认采用的对指标值进行标准化处理的方法,% x是逆向指标值矩阵,通过xmax+xmin-x转化为正向指标;y是正向指标值矩阵;% 如果存在负数指标值通过xy-min(xy)进行转化;最后利用列和归一化处理,考虑待评价数m很大时,xystd值很小,所以乘以m.% xystd是标准化处理后的指标值[yrow,ycol]=size(y);[m1,n1]=size(x{1}); % m1表示x的行数,n1表示x的列数,逆向指标个数[m2,n2]=size(y{1}); % n2表示正向指标个数n=n1+n2; %n表示指标数if n1>0m=m1; %表示待评价对象数else if n2>0m=m2;endendfor t=1:ycolif n2>0xy{t}(:,1:n2)=y{t};endif n1>0xmin=min(x{t});xmax=max(x{t});for i=1:n1for j=1:mxy{t}(j,n2+1:n1+n2)=xmax(i)+xmin(i)-x{t}(j,i); %对逆向指标进行处理;endendxyflag=all(xy{t}>=zeros(m,n)); %判断是否存在xy(j,i)<0xymin=min(xy{t});for i=1:nif xyflag(i)==0for j=1:mxy{t}(j,i)=xy{t}(j,i)-xymin(i); %对xy(j,i)<0的指标进行平移处理,使所有指标非负endendendxysum{t}=sum(xy{t}); %列求和xystd{t}=xy{t}./xysum{t}(ones(m,1),:); %进行列和等于11归一化处理xystd{t}=m*xystd{t}; %避免由于待评价对象m很大时,xystd值很小,所以乘以m end。