Matlab学习系列19.-熵值法确定权重

Matlab学习系列19.-熵值法确定权重
Matlab学习系列19.-熵值法确定权重

19. 熵值法确定权重

一、基本原理

在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响(权重)越大,其熵值越小。

二、熵值法步骤

1. 选取n 个国家,m 个指标,则x ij 为第i 个国家的第j 个指标的数值(i=1, 2…,n; j=1, 2,…,m );

2. 指标的归一化处理:异质指标同质化

由于各项指标的计量单位并不统一,因此在用它们计算综合指标前,先要对它们进行标准化处理,即把指标的绝对值转化为相对值,并令ij ij x x ,从而解决各项不同质指标值的同质化问题。而且,由于

正向指标和负向指标数值代表的含义不同(正向指标数值越高越好,负向指标数值越低越好),因此,对于高低指标我们用不同的算法进行数据标准化处理。其具体方法如下

:正向指标:

12'

1212min{,,...,}max{,,...,}

min{,,...,}ij j j nj ij j j nj j j nj x x x x x x x x x x x 负向指标:

12'

1212max{,,...,}max{,,...,}min{,,...,}

j j nj ij ij j j nj j j nj x x x x x x x x x x x 则'ij x 为第i 个国家的第j 个指标的数值(i=1, 2…,n; j=1, 2,…,m )。

为了方便起见,归一化后的数据'

ij

x 仍记为x ij ;3. 计算第j 项指标下第i 个国家占该指标的比重:

1

,1,2...,,1,2...,ij ij n ij

i x p i n j m

x 4. 计算第j 项指标的熵值:

1ln()

n

j ij ij i e k

p p 其中,k=1/ln(n)>0. 满足e j ≥0;

5. 计算信息熵冗余度:

1j j d e ;

6. 计算各项指标的权值:

1

,1,2,...,j j m j

j d w j m

d 7. 计算各国家的综合得分:

1,1,2,...m

i

j ij j s w p i n

三、Matlab 实现

按上述算法步骤,编写

Matlab 函数:shang.m function [s,w]=shang(x)

% 函数shang(), 实现用熵值法求各指标(列)的权重及各数据行的得分

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

MATLAB代码 解线性方程组的迭代法

解线性方程组的迭代法 1.rs里查森迭代法求线性方程组Ax=b的解 function[x,n]=rs(A,b,x0,eps,M) if(nargin==3) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值elseif(nargin==4) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-A)*x0+b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 2.crs里查森参数迭代法求线性方程组Ax=b的解 function[x,n]=crs(A,b,x0,w,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-w*A)*x0+w*b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x;

if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 3.grs里查森迭代法求线性方程组Ax=b的解 function[x,n]=grs(A,b,x0,W,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1;%前后两次迭代结果误差 %迭代过程 while(tol>eps) x=(I-W*A)*x0+W*b;%迭代公式 n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 4.jacobi雅可比迭代法求线性方程组Ax=b的解 function[x,n]=jacobi(A,b,x0,eps,varargin) if nargin==3 eps=1.0e-6; M=200; elseif nargin<3 error return elseif nargin==5 M=varargin{1}; end D=diag(diag(A));%求A的对角矩阵 L=-tril(A,-1);%求A的下三角阵

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

Matlab课程设计报告

自控系统仿真软件课程设计报告 MATLAB 设计题目:牛顿摆球 姓名: 学号: 院系: 班级:1203 指导教师: 2014年12月20日

一.课程设计目的 1、熟悉课程设计的基本流程; 2、掌握MATLAB语法结构及调试方法; 3、熟悉MATLAB函数调用,熟练二维画图; 4、掌握MATLAB语言在控制方面的运用; 5、学会用MATLAB进行基本仿真; 6、掌握MATLAB编程技巧,提高编程水平。 二.系统分析 1.题目的描述: (1)牛顿摆球原理描述 五个质量相同的球体由吊绳固定,彼此紧密排列。当摆动最右侧的球并在回摆时碰撞紧密排列的另外四个球,最左边的球将被弹出,并仅有最左边的球被弹出。当然此过程也是可逆的,当摆动最左侧的球撞击其它球时,最右侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球。 为了更接近现实,在这里我将考虑重力及空气阻力的影响,摆球将不会永无止境的运动下去,由于外界因素的影响,摆球运动一段时间后将回归静止状态。(2)通过MATLAB动画程序制作软件,实现下述过程 当运行程序时,把最右边的小球拉到一定的高度放下,让其碰撞其余四个小球,仅让最左边的小球被弹出,当最左边小球回摆碰撞其它球时,最右边小球又被弹出,如此循环。由于是非理想条件下,摆球的摆动幅度会随摆动次数的增加越来越小,直到静止。 时间停顿两秒,把右边两小球一起拉到一定高度放下,让其碰撞其余三个球,同样仅让左边两球被弹出,当球回摆再次碰撞时,最右边两球又被同时弹出,如此循环,因为外界因素的影响,最终五个球都会静止下来。 (3)整个实验看似简单,但要在MATLAB上完成这样一个动画过程,还是需要下点功夫,克服困难的。经过自己的努力,终于实现了整个过程,这也是一种不小的收获。 2.设计要求: (1)能够实现有阻尼摆动,即摆幅随摆动次数增加越来越小,直到静止。(2)能够让摆球弧线摆动。 三.系统设计 1.系统设计过程 (1)通过函数axis建立坐标系 (2)在坐标系范围内通过函数line画各个支架 (3)通过函数title添加标题“动量守恒实验”、函数text添加标注“牛顿摆球” (4)通过函数line画出五个球,并设定其初始位置,颜色,大小,线条的擦拭方式

Excel-wps中熵值法、熵权法、指标赋权、权重计算。

Excel -wps 中熵值法、熵权法、指标赋权、权重计算。 Excel 、wps 实现熵权法计算过程: 1.熵权法下指标权重的计算 熵权法下首先计算第i 年份的第j 项指标值的权重: i=1,2,3…n; j=1,2,3…m (2) 令k=1/ln(n)>0,为调节系数,计算指标信息熵: i=1,2,3…n; j=1,2,3…m (3) 最后确定计算指标权重: (0

Excel-wps中熵值法、熵权法、指标赋权、权重计算。 6 2003 0.1710 0.1261 7 2004 0.2852 0.1465 8 2005 0.3170 0.1291 9 2006 0.6475 0.2121 10 2007 0.6475 0.2803 11 2008 0.562183898 0.403750964 12 2009 0.585203446 0.588585521 13 2010 0.694865622 0.465106715 14 2011 0.500221291 0.472249607 15 2012 1 0.602993026 16 2013 0.863566837 0.558954944 17 2014 0.835655753 0.523401776 18 2015 0.193615668 0.586089558 19 2016 0.52105526 1.000347255 20 =SUM(B1:B19) =SUM(C1:C19) 21 pij =B1/B$20 =C1/C$20 下拉后得到19 行新数据

高斯-赛德尔迭代法matlab程序

disp('划分为M*M个正方形') M=5 %每行的方格数,改变M可以方便地改变剖分的点数 u=zeros(M+1);%得到一个(M+1)*(M+1)的矩阵 disp('对每个剖分点赋初值,因为迭代次数很高,所以如何赋初值并不重要,故采用对列线性赋值。') disp('对边界内的点赋初值并使用边界条件对边界赋值:') for j=1:M-1 for i=1:M-1 u(i+1,j+1)=100*sin(pi/M*j)/M*(M-i);%对矩阵(即每个刨分点)赋初值 end end for i=1:M+1 u(1,i)=100*sin(pi*(i-1)/M);%使用边界条件对边界赋值 u(1,M+1)=0; end u tic %获取运行时间的起点 disp('迭代次数为N') N=6 %迭代次数,改变N可以方便地改变迭代次数 disp('n为当前迭代次数,u为当前值,结果如下:') for n=1:N for p=2:M i=M+2-p; for j=2:M u(i,j)=0.25*(u(i,j-1)+u(i+1,j)+u(i-1,j)+u(i,j+1));%赛德尔迭代法 end end n %输出n u %输出u end disp('所用的时间:') t=toc %获取算法运行需要的时间 [x,y]=meshgrid(0:1/M:1,0:1/M:1); z=u(1,:); for a=2:M+1 z=[z;u(a,:)];%获取最终迭代的结果,幅值给z,z的值代表该点的点位值 end mesh(x,y,z)%绘制三维视图以便清楚地显示结果 mesh(x,y,z,'FaceColor','white','EdgeColor','black') %绘制三维视图以便清楚地显示结果

matlab课程设计拟定题目

第一类:单位转换 1.长度单位换算的设计与实现 2.面积单位换算的设计与实现 3.体积单位换算的设计与实现 4.容积单位换算的设计与实现 5.质量单位换算的设计与实现 6.时间单位换算的设计与实现 7.温度单位换算的设计与实现 7.压强单位换算的设计与实现 8.角度单位换算的设计与实现 8.功率单位换算的设计与实现 第二类:曲线绘制 1.直线的自动绘制和相关计算 2.椭圆的自动绘制和相关计算 3.双曲线的自动绘制和相关计算 4.抛物线的自动绘制和相关计算 5.心脏线的自动绘制和相关计算 6.渐开线的自动绘制和相关计算 7.滚圆线的自动绘制和相关计算 8.三叶玫瑰线的自动绘制和相关计算9.四叶玫瑰线的自动绘制和相关计 10.阿基米德螺线的自动绘制和相关计算第三类:曲面绘制 1.球面的自动绘制和相关计算 2.椭球面的自动绘制和相关计算 3.单叶双曲面的自动绘制和相关计算 4.双叶双曲面的自动绘制和相关计算 5.抛物面的自动绘制和相关计算 6.双曲抛物面的自动绘制和相关计算 7.双曲柱面的自动绘制和相关计算 8.椭圆柱面的自动绘制和相关计算 9.抛物柱面的自动绘制和相关计算 10.圆锥面的自动绘制和相关计算 第四类:线性回归 1.男士身高体重相关计算经验公式 2.女士身高体重相关计算经验公式 3.男士胖瘦等级的确定 4.女士胖瘦等级的确定 5.男士身高脚长相关计算经验公式 6.女士身高脚长相关计算经验公式 7.父子身高相关性研究 8.母子身高相关性研究 9.父女身高相关性研究 10.母女身高相关性研究 第五类:学习成绩 1.期末总评自动计算的设计与实现 2.成绩等级自动评定的设计与实现 3.成绩分段自动统计的设计与实现 4.成绩分布折线自动绘制的设计与实现 5.成绩自动统计分析的设计与实现 6.试卷分布自动分析的设计与实现 7.试卷难度自动分析的设计与实现 8.考试成绩名次自动生成的设计与实现

lu分解法、列主元高斯法、jacobi迭代法、gaussseidel法的原理及matlab程序

一、实验目的及题目 1.1 实验目的: (1)学会用高斯列主元消去法,LU 分解法,Jacobi 迭代法和Gauss-Seidel 迭代法解线性方程组。 (2)学会用Matlab 编写各种方法求解线性方程组的程序。 1.2 实验题目: 1. 用列主元消去法解方程组: 1241234 123412343421233234x x x x x x x x x x x x x x x ++=??+-+=??--+=-??-++-=? 2. 用LU 分解法解方程组,Ax b =其中 4824012242412120620266216A --?? ?- ?= ? ?-??,4422b ?? ? ?= ?- ?-?? 3. 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解方程组: 123234 1231234102118311210631125x x x x x x x x x x x x x -+=-??-+=-??-+=??-+-+ =? 二、实验原理、程序框图、程序代码等 2.1实验原理 2.1.1高斯列主元消去法的原理 Gauss 消去法的基本思想是一次用前面的方程消去后面的未知数,从而将方程组化为等价形式: 1111221122222n n n n nn n n b x b x b x g b x b x g b x g +++=??++=????= ? 这个过程就是消元,然后再回代就好了。具体过程如下: 对于1,2, ,1k n =-,若() 0,k kk a ≠依次计算

()() (1)()()(1)()()/,,1, ,k k ik ik kk k k k ij ij ik kj k k k i i ik k m a a a a m a b b m b i j k n ++==-=-=+ 然后将其回代得到: ()() ()()()1/()/,1,2,,1 n n n n nn n k k k k k kj j kk j k x b a x b a x a k n n =+?=??=-=--? ? ∑ 以上是高斯消去。 但是高斯消去法在消元的过程中有可能会出现() 0k kk a =的情况,这时消元就无法进行了,即使主元数() 0,k kk a ≠但是很小时,其做除数,也会导致其他元素数量级的严重增长和舍入误差的扩散。因此,为了减少误差,每次消元选取系数矩阵的某列中绝对值最大的元素作为主元素。然后换行使之变到主元位置上,再进行销元计算。即高斯列主元消去法。 2.1.2直接三角分解法(LU 分解)的原理 先将矩阵A 直接分解为A LU =则求解方程组的问题就等价于求解两个三角形方程组。 直接利用矩阵乘法,得到矩阵的三角分解计算公式为: 1111111 11 1,1,2,,/,2,,,,,1,,,2,3, ()/,1,2, ,i i i i k kj kj km mj m k ik ik im mk kk m u a i n l a u i n u a l u j k k n k n l a l u u i k k n k n -=-===?? ==?? =-=+??=??=-=++≠?? ∑∑且 由上面的式子得到矩阵A 的LU 分解后,求解Ux=y 的计算公式为 11 111,2,3,/()/,1,2, ,1 i i i ij j j n n nn n i i ij j ii j i y b y b l y i n x y u x y u x u i n n -==+=??? =-=?? =??? =-=--?? ∑∑ 以上为LU 分解法。

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

熵值法的原理及实例讲解

熵值法的原理及实例讲解 熵值法 1.算法简介熵值法是一种客观赋权法,其根据各项指标观测值所提供的信息的大小来确定指标权重。设有m个待评方案,n项评价指标,形成原始指标数据矩阵X?(xij)m?n,对于某项指标xj,指标值Xij的差距越大,则该指标在综合评价中所起的作用越大;如果某项指标的指标值全部相等,则该指标在综合评价中不起作用。在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性就越大,熵也越大.根据熵的特性,我们可以通过计算熵值来判断一个方案的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大!因此,可根据各项指标的变异程度,利用信息熵这个工具,计算出各

个指标的权重,为多指标综合评价提供依据! 2.算法实现过程数据矩阵?X11?X1m??????其中Xij为第i个方案第j个指标的数值A????X??n1?Xnm?n? 数据的非负数化处理于熵值法计算采用的是各个方案某一指标占同一指标值总和的比值,因此不存在量纲的影响,不需要进行标准化处理,若数据中有负数,就需要对数据进行非负化处理!此外,为了避免求熵值时对数的无意义,需要进行数据平移:对于越大越好的指标:’Xij?Xij?min(X1j,X2j,?,Xn j)max(X1j,X2j,?,Xnj)?min(X1j,X2j,?,Xnj) ?1,i?1,2,?,n;j?1,2,?,m对于越小越好的指标:’Xij?max(X1j,X2j,?,Xnj)?Xijm ax(X1j,X2j,?,Xnj)?min(X1j,X2j,?,Xnj)?1,i ?1,2,?,n;j?1,2,?,m为了方便起见,仍记非负化处理后的数据为Xij 计算第j 项指标下第i个方案占该指标的比重Pij?Xij?Xi?1n(j?1,2,?m) 计算第j项指标的熵值ej??k*?Pijlog(Pij),其中

Matlab学习系列19.-熵值法确定权重

19.熵值法确定权重 一、基本原理 在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。 根据熵的特性,可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响(权重)越大,其熵值越小。 二、熵值法步骤 1. 选取n个国家,m个指标,则x j为第i个国家的第j个指标的数值(i=1, 2…,n; j=1,2,…,m); 2. 指标的归一化处理:异质指标同质化 由于各项指标的计量单位并不统一,因此在用它们计算综合指标前,先要对它们进行标准化处理,即把指标的绝对值转化为相对值,并令X j X j ,从而解决各项不同质指标值的同质化问题。而且,由于正向指标和负向指标数值代表的含义不同(正向指标数值越高越好,负向指标数值越低越好),因此,对于高低指标我们用不同的算法进行数据标准化处理。其具体方法如下: 正向指标: X ij min {勺公2),...,人)} X ij max{X ij,X2j,...,X nj} min {勺公?」,…,x j

负向指标:

max{X ij,X2j,...,X nj} X j X j max{X jj,X2j,...,X nj} m in {勺必),…,x^} 则X j为第i个国家的第j个指标的数值(i=1,2…,n; j=1,2,…,m) 为了方便起见,归一化后的数据X j仍记为X j; 3?计算第j项指标下第i个国家占该指标的比重: X ij P j —, i 1,2..., n, j 1,2..., m X ij i 1 4. 计算第j项指标的熵值: n e j k P ij ln( p j) i 1 其中,k=1/ln(n)>0.满足e j >0; 5. 计算信息熵冗余度: d j 1 e j; 6. 计算各项指标的权值: d j W j —, j 1,2,...,m d j j 1 7. 计算各国家的综合得分: m s W j p ij, i 1,2,...n j 1 三、Matlab实现 按上述算法步骤,编写Matlab函数:shang.m function [s,w]=sha ng(x) %函数shang(), 实现用熵值法求各指标(列)的权重及各数据行的得分

熵值法的原理及实例讲解.doc

熵值法 1.算法简介 熵值法是一种客观赋权法,其根据各项指标观测值所提供的信息的大小来确定指标权重。设有m 个待评方案,n 项评价指标,形成原始指标数据矩阵n m ij x X ?=)(,对于某项指标j x ,指标值ij X 的差距越大,则该指标在综合评价中所起的作用越大;如果某项指标的指标值全部相等,则该指标在综合评价中不起作用。 在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性就越大,熵也越大.根据熵的特性,我们可以通过计算熵值来判断一个方案的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大!因此,可根据各项指标的变异程度,利用信息熵这个工具,计算出各个指标的权重,为多指标综合评价提供依据! 2.算法实现过程 2.1 数据矩阵 m n nm n m X X X X A ?????? ??=ΛM M M Λ1111其中ij X 为第i 个方案第j 个指标的数值 2.2 数据的非负数化处理 由于熵值法计算采用的是各个方案某一指标占同一指标值总和的比值,因此不存在量纲的影响,不需要进行标准化处理,若数据中有负数,就需要对数据进行非负化处理!此外,为了避免求熵值时对数的无意义,需要进行数据平移: 对于越大越好的指标: m j n i X X X X X X X X X X X nj j j nj j j nj j j ij ij ,,2,1;,,2,1,1),,,min(),,,max() ,,,min(212121'ΛΛΛΛΛ==+--=对于越小越好的指标: m j n i X X X X X X X X X X X nj j j nj j j ij nj j j ij ,,2,1;,,2,1,1),,,min(),,,max(),,,max(212121'ΛΛΛΛΛ==+--=为了方便起见,仍记非负化处理后的数据为ij X

matlab 迭代法[精品]

matlab 迭代法[精品] 1. 矩阵 122,211,,,,,,,,,A,111A,222, 11,,,,,,,,221,,112,,,, 证明:求解以为系数矩阵线性方程组的Jacobi迭代式收敛的,而A1 Gauss-Seidel方法是发散的;求解以为系数矩阵线性方程组的A2实验名称Gauss-Seidel是收敛的,而Jacobi方法是发散的. 2. 矩阵 1aa,,,,Aaa,1 ,,,,aa1,, (a) 参数取什么值时,矩阵是正定的. a (b) 取什么值时,求以为系数矩阵线性方程组的Jacobi迭代式收aa 敛的. 1、根据迭代收敛性的充分必要条件来判断Jacobi迭代式与Gauss-Seide 迭代式的收敛性,迭代收敛性仅与方程组系数矩阵有关,与右端无关;而且不依赖于初值的选取。实验目的 2、根据矩阵的判断定理求得矩阵元素a的取值,同时根据矩阵线性方程组的Jacobi迭代式收敛的充分条件(严格对角占优)来求a得取值。 1、(1)检验线性方程组的Jacobi迭代式的收敛性: function jacobi(A) D=zeros(3); for i=1:3 D(i,i)=A(i,i); 实验内容end (算法、程B=D^(-1)*(D-A); 序、步骤和k=max(abs(eig(B))) 方法) if k<1

'该线性方程组的Jacobi迭代式是收敛的' else k>=1 '该线性方程组的Jacobi迭代式是发散的' end (2)检验线性方程组的Gauss-Seide迭代式的收敛性: function Gauss(A) D=zeros(3); L=zeros(3); U=zeros(3); for i=1:3 D(i,i)=A(i,i); end L(2:3,1)=A(2:3,1); L(3,2)=A(3,2); U(1,2:3)=A(1,2:3); U(2,3)=A(2,3); B=-(D+L)^(-1)*U; k=max(abs(eig(B))) if k<1 '该线性方程组的Gauss-Seidel迭代式是收敛的' else k>=1 '该线性方程组的Gauss-Seidel迭代式是发散的' end 2、(1)参数取什么值时,矩阵是正定的.(矩阵的特征值全为正) a >> syms a >> A=[1 a a;a 1 a;a a 1]; >> eig(A) ans = 2*a+1 1-a

MATLAB课程设计任务书

课程设计任务书 学生姓名:专业班级:电信 指导教师:工作单位:信息工程学院 题目:MATLAB运算与应用设计2 初始条件: 1.MATLAB6.5以上版本软件; 2.课程设计辅导资料:“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的 应用”等; 3.先修课程:信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说 明书撰写等具体要求) (1)选择一本《MATLAB教程》,学习该教程的全部内容,包括使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容; (2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。 (3)对实验结果进行分析和总结; (4)要求阅读相关参考文献不少于5篇; (5)根据课程设计有关规范,按时、独立完成课程设计说明书。 时间安排: (1) 布置课程设计任务,查阅资料,学习《MATLAB教程》十周; (2) 进行编程设计一周; (3) 完成课程设计报告书一周; 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1 MATLAB概述 (3) 1.1MATLAB简介 (4) 1.2MATLAB的功能 (4) 1.3MATLAB 的典型应用 (6) 2设计题目:MATLAB运算与应用设计套题二 (6) 3设计内容 (8) 3.1 题一 (8) 3.2 题二 (8) 3.3 题三 (9) 3.4 题四 (10) 3.5 题五 (15) 3.6 题六 (15) 3.7 题七 (15) 3.8 题八 (16) 3.9 题九 (17) 3.10题十 (18) 4 课程设计心得 (20) 5参考文献 (21) 6 本科生课程设计成绩评定表 (22)

matlab习题(课程设计)

1. 已知矩阵????????????????=5432141097539108627810715675A ,矩阵????? ?? ?????????=60151403514436136349624B ,解线性方程X ,使得A.X=B ,并将矩阵A 的右下角2×3子矩阵赋给矩阵C 。 程序:A=sym([5,7,6,5,1;7,10,8,7,2;6,8,10,9,3;5,7,9,10,4;1,2,3,4,5]); B=sym([24,96;34,136;36,144;35,140;15,60]); X=A\B C=A([4,5],[3,4,5]) 运行结果:X = [ 1, 4] [ 1, 4] [ 1, 4] [ 1, 4] [ 1, 4] C = [ 9, 10, 4] [ 3, 4, 5] 2. 根据下面两个矩阵 ???? ??????=??????????=987654321,136782078451220124B A 执行下列的矩阵运算命令,并回答有关的问题 (1) A+5*B 和A-B+I 分别是多少(其中I 为单位矩阵)? (2) A.*B 和 A*B 将分别给出什么结果,它们是否相同,为什么? 得出A.^B 、A/B 及A\B 的结果,并分别解释它们的物理意义。 程序:A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,9]; I=[1,0,0;0,1,0;0,0,1]; C=A+5*B D=A-B+I E=A.*B

F=A*B G=A.^B H=A/B J=A\B A=sym([4 12 20;12 45 78;20 78 136]); B=sym([1 2 3;4 5 6;7 8 9]); I=sym([1 0 0;0 1 0; 0 0 1]); A+5*B A-B+I A.*B %A.为A的共轭矩阵,本式为A的共轭矩阵和B相乘 A*B %A直接和矩阵B相乘,结果与上面显然不同 A.^B %A的共轭矩阵的B次方 A/B %右除解XB=A A\B %左除解AX=B 运行结果: ans = [ 9, 22, 35] [ 32, 70, 108] [ 55, 118, 181] ans = [ 4, 10, 17] [ 8, 41, 72] [ 13, 70, 128] ans = [ 4, 24, 60] [ 48, 225, 468] [ 140, 624, 1224] ans = [ 192, 228, 264] [ 738, 873, 1008] [ 1284, 1518, 1752]

Excel,wps中熵值法、熵权法、指标赋权、权重计算。

Excel 、wps 实现熵权法计算过程: 1.熵权法下指标权重的计算 熵权法下首先计算第i 年份的第j 项指标值的权重: i=1,2,3…n; j=1,2,3…m (2) 令k=1/ln(n)>0,为调节系数,计算指标信息熵: i=1,2,3…n; j=1,2,3…m (3) 最后确定计算指标权重: (0

12 2009 0.585203446 0.588585521 13 2010 0.694865622 0.465106715 14 2011 0.500221291 0.472249607 15 2012 1 0.602993026 16 2013 0.863566837 0.558954944 17 2014 0.835655753 0.523401776 18 2015 0.193615668 0.586089558 19 2016 0.52105526 1.000347255 20 =SUM(B1:B19) =SUM(C1:C19) 21 pij =B1/B$20 =C1/C$20 下拉后得到19 行新数据 最后一步就是这个式子的计算,下拉就好了,$会让你下 拉的时候总是除以20行这个数字保持不变。 66 =B21*ln(B21) =C21*LN(C21) 67 下拉后得到19 行新数据 68 (方便起见这里就以这个表格位置输 入了,实际操作中肯定不是,因为 =C$68*B66 =C$*C66 -k=-ln(1/19)(表格中位置为 (C68) ∑== n i ij ij ij y y p 1 ' '

MATLAB课程设计

《MATLAB》课程设计球面的自动绘制与相关计算 院(系)名称信息工程学院 专业班级09普本信计1班 学号090111011 学生姓名张云迪 指导教师马艳琴 2011年6月6日

MATLAB课程设计评阅书 题目球面的自动绘制与相关计算 学生姓名张云迪学号090111011 指导教师评语及成绩 指导教师签名: 年月日答辩评语及成绩 答辩教师签名: 年月日教研室意见 总成绩: 教研室主任签名: 年月日

课程设计任务书 2010—2011学年第二学期 专业班级:09普本信计1班学号:090111011姓名:张云迪 课程设计名称: MATLAB 设计题目:球面的自动绘制与相关计算 完成期限:自2011年06月06日至2011年06月12日共1周 一、设计目的 由于在平时人工绘制的三维图形比较复杂,而且立体效果不好,运用MATLAB绘制图形简单而且可以实现图像的可视化。运用MATLAB绘制三维图像,实现对球面的自动绘制,熟练掌握绘制球面的绘图命令。对球面进行相关的计算,例如体积、表面积。 二、设计要求 1、运用MATLAB等工具。 2、对球相关的计算。 3、按照格式要求写出3000字文档。 三、参考文献 [1]曹弋.MATLAB教程及实训[M].北京:机械工业出版社,2010,8. [2]王正林,刘明.精通MATLAB7[M].大陆:电子工业出版社,2006. [3]高尚华.数学分析第三版[M].北京:高等教育出版社,2008,4. 计划答辩时间:2011 年 6 月 12日 工作任务与工作量要求:查阅文献资料不少于3篇,课程设计报告1篇不少于3000字 指导教师(签字):教研室主任(签字): 批准日期:年月日

matlab迭代法代码

matlab 迭代法代码 1、%用不动点迭代法求方程x-e A x+4=0的正根与负根,误差限是 10A-6% disp(' 不动点迭代法 '); n0=100; p0=-5; for i=1:n0 p=exp(p0)-4; if abs(p-p0)<=10(6) if p<0 disp('|p-p0|=') disp(abs(p-p0)) disp(' 不动点迭代法求得方程的负根为 :') disp(p); break; else disp(' 不动点迭代法无法求出方程的负根 .') end else p0=p; end end

if i==n0 disp(n0) disp(' 次不动点迭代后无法求出方程的负根') end p1=1.7; for i=1:n0 pp=exp(p1)-4; if abs(pp-p1)<=10(6) if pp>0 disp('|p-p1|=') disp(abs(pp-p1)) disp(' 用不动点迭代法求得方程的正根为 ') disp(pp); else disp(' 用不动点迭代法无法求出方程的正根 '); end break; else p1=pp; end end if i==n0

disp(n0) disp(' 次不动点迭代后无法求出方程的正根 ') end 2、%用牛顿法求方程x-e A x+4=0的正根与负根,误差限是disp(' 牛顿法') n0=80; p0=1; for i=1:n0 p=p0-(p0-exp(p0)+4)/(1-exp(p0)); if abs(p-p0)<=10(6) disp('|p-p0|=') disp(abs(p-p0)) disp(' 用牛顿法求得方程的正根为 ') disp(p); break; else p0=p; end end if i==n0 disp(n0) disp(' 次牛顿迭代后无法求出方程的解 p1=-3; for i=1:n0 p=p1-(p1-exp(p1)+4)/(1-exp(p1)); 10A-6 ') end

MATLAB课程设计-图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 设计任务 设计要求 3 系统设计原理 (Ⅳ) DCT图像压缩原理 真彩色增强 平滑 锐化 灰度变换(直方图均衡化) 图像滤波

中值滤波器 维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) DCT图像压缩 程序代码 实验结果 结果分析 真彩色增强 平滑程序代码 实验结果 结果分析 锐化程序代码 实验结果 结果分析 灰度变换(直方图均衡化) 程序代码 实验结果 结果分析 图像滤波 程序代码 实验结果 结果分析 5 收获体会 (Ⅶ) 6 参考文献 (Ⅷ) 概述

相关文档
最新文档