灰色关联度矩阵--基于Matlab

来源:互联网 发布:淘宝七星彩摇奖机 编辑:程序博客网 时间:2024/05/29 05:05
clc;close;clear all;% 控制输出结果精度format short;% 原始数据x=[308.58 310 295 346 367195.4 189.9 187.2 205 222.724.6 21 12.2 15.1 14.5720 25.6 23.3 29.2 3018.98 19 22.3 23.5 27.655170 174 197 216.4 235.857.55 70.74 76.8 80.7 89.8588.56 70 85.38 99.83 103.411.19 13.28 16.82 18.9 22.84.03 4.26 4.34 5.06 5.7813.7 15.6 13.77 11.98 13.95];n1=size(x,1);% 数据标准化处理for i = 1:n1x(i,:) = x(i,:)/x(i,1);end% 保存中间变量,亦可省略此步,将原始数据赋予变量datadata=x;% 分离参考数列(母因素)consult=data(6:n1,:);m1=size(consult,1);% 分离比较数列(子因素)compare=data(1:5,:);m2=size(compare,1);for i=1:m1for j=1:m2t(j,:)=compare(j,:)-consult(i,:);endmin_min=min(min(abs(t')));max_max=max(max(abs(t')));% 通常分辨率都是取0.5resolution=0.5;% 计算关联系数coefficient=(min_min+resolution*max_max)./(abs(t)+resolution*max_max);% 计算关联度corr_degree=sum(coefficient')/size(coefficient,2);r(i,:)=corr_degree;end% 输出关联度值并绘制柱形图rbar(r,0.90);axis tight;% 从左至右依次是 固定资产投资,工业投资,农业投资,科技投资,交通投资legend('固定资产投资','工业投资','农业投资','科技投资','交通投资');% 以下程序是为了给x轴添加汉字标签% 其基本原理是先去掉x轴上的固有标签,然后用文本标注x轴% 去掉X轴上默认的标签set(gca,'XTickLabel','');%  设定X轴刻度的位置,这里有6个母因素n=6;% 这里注意:x_range范围如果是[1 n]会导致部门柱形条不能显示出来% 所以范围要缩一点x_value = 1:1:n;x_range = [0.6 n+.4];% 获取当前图形的句柄set(gca,'XTick',x_value,'XLim',x_range);% 在X轴上标记6个母因素profits={'国民收入','工业收入','农业收入','商业收入','交通收入','建筑业收入'};y_range = ylim;% 用文本标注母因素名称handle_date = text(x_value,y_range(1)*ones(1,n)+.018,profits(1:1:n));% 把文本的字体设置合适的格式和大小并旋转一定的角度set(handle_date,'HorizontalAlignment','right','VerticalAlignment','top', 'Rotation',35,...'fontname','Arial','fontsize',10.5);% y轴标记ylabel('y');title('投资对收入的作用');
%得出的结果如下r =    0.8016    0.7611    0.5570    0.8102    0.9355    0.6887    0.6658    0.5287    0.8854    0.8004    0.8910    0.8581    0.5786    0.5773    0.6749    0.6776    0.6634    0.5675    0.7800    0.7307    0.8113    0.7742    0.5648    0.8038    0.9205    0.7432    0.7663    0.5616    0.6065    0.6319![这里写图片描述](http://img.blog.csdn.net/20160910165005150)
1 0
原创粉丝点击