MATLAB代码v2.0

Posted shewhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB代码v2.0相关的知识,希望对你有一定的参考价值。

 1 % % V       原始评价指标矩
 2 % % v_ij    第i个地区第j个指标的初始值
 3 % % r_ij    第i个地区第j个指标的标准化值
 4 % % R       标准化后的评价矩阵
 5 % % m       统计地区总个数
 6 % % n       已给指标个数
 7 % % Y^+     正理想解
 8 % % Y^-     负理想解
 9 % % D_j^+    第i个指标与y_i^+的距离
10 % % D_j^-    第i个指标与y_i^-的距离
11 % % H_i     信息熵
12 % % f_ij    指标的特征比重
13 % % w_i     权值表
14 % % Y       加权规范化评价矩阵
15 % % T_j     第j项经济指标接近最优值的程度
16 
17 
18 %%  第一步:把数据复制到工作区,并将这个矩阵命名为X
19 clear;clc
20 load jingjizhibiao.mat;
21 
22 [n,m] = size(V);
23 disp([共有 num2str(n) 个地区,  num2str(m) 个经济指标]) ;
24 R = V./ repmat(sum(V.*V) .^ 0.5, n, 1);
25 disp(R的值为  R = )
26 R
27 
28 %% 第二步:熵权法赋权
29 %%计算第j个指标下,第i个样本占该指标的比重p(i,j)
30 for i=1:n
31     for j=1:m
32         p(i,j)=R(i,j)/sum(R(:,j));
33     end
34 end
35 %%计算第j个指标的熵值e(j)
36 k=1/log(n);
37 for j=1:m
38     e(j)=-k*sum(p(:,j).*log(p(:,j)));
39 end
40 H=ones(1,m)-e; %计算信息熵冗余度
41 w=H./sum(H); %求权值w
42 disp(最后的权重为 ; w =)
43 w
44 Y=V.* repmat(w,n,1);%%每个元数据乘以对应指标的熵权值,
45 
46 disp(加入熵权的矩阵 Y = );
47 disp(Y);
48 
49 clear i j;%%释放无关变量
50 % % Z = B ./ repmat(sum(B.*B) .^ 0.5, n, 1);
51 % % disp(标准化矩阵 Z = )
52 % % disp(Z)
53 
54 %% 第三步 计算与最大值的距离和最小值的距离,并算出得分,(topsis分析)
55 
56 Dist_max = sum([(Y - repmat(max(Y),n,1)) .^ 2 ],2) .^ 0.5;   % D+ 与最大值的距离向量
57 Dist_min = sum([(Y - repmat(min(Y),n,1)) .^ 2 ],2) .^ 0.5;   % D- 与最小值的距离向量
58 disp(D + 为)
59 Dist_max
60 
61 disp(D - 为)
62 Dist_min
63 
64 T = Dist_min ./ (Dist_max+Dist_min);    % 未归一化的得分
65 disp(最后的得分为:)
66 stand_S = T / sum(T)
67 [sorted_S,index] = sort(stand_S ,descend)

MATLAB2/02019.12.1   19.26

以上是关于MATLAB代码v2.0的主要内容,如果未能解决你的问题,请参考以下文章

将 Kinect 的 v2.0 运动存储到 BVH 文件

jquery实现可展开收缩的首页大图广告展示方式 泰山压顶代码js V2.0

新版发布:Struts2 S2-057远程代码执行漏洞预警V2.0

接口测试框架V2.0版

AFNetworking V2.0 中的多参数 POST

算法理解—— 快速排序 v2.0