clear,clc,format short g
%%%%%%%%%%%%%%%%%%%%% 数据准备——原始数据矩阵.
% 人口 GDP 工业 财政收入 财政支出 固定资产 居民储蓄 环境治理
A0=[1198 78702835 18218601 11171514 12968389 33715013 86984521 388750
949 43591500 22927300 4170479 5431219 18497987 28110200 799933
940 20266320 8751622 773736 1282462 10994463 15532427 27727
349 10136482 3786335 753306 954238 5011273 11839536 284793
216 9000845 2837701 455202 754985 5498228 4530845 46078
704 25196338 10088171 1756336 2687649 17903457 19219758 138814
572 25696699 10588385 1961357 2665249 14694899 18664886 263991
739 17411922 6840335 715908 1466748 9504180 11745969 284745
980 20940751 5894994 1182934 1946839 8098657 15638334 346446
1368 103663700 46701100 15760724 17955660 39250884 94802800 3108523
607 27737800 11819400 2464392 2624614 16135518 18348800 850030
666 34415068 15590895 3013888 2754809 14607422 24736900 141461
560 28744435 14259477 2573799 2926969 15027686 17520388 185041
470 10737600 4093600 794046 1028869 8167825 6245600 15407
623 16640515 6601028 1156184 1100589 7323412 13113823 319000
160 11680229 5603061 1361653 1591253 6620984 6808196 299504
484 11838973 4481541 681075 933749 6430198 7338474 255279
603 21850856 8615053 1284388 1469762 10167663 11825655 442928
749 32065800 15274900 2259904 2367875 14856894 15676197 566252
692 20134777 9440244 1760266 1876587 10319917 16207242 77486
819 25907569 10007433 1786021 2578102 13252827 18877333 104608
631 17989572 6007131 1328345 1671873 10898081 10930400 18404
761 60738277 22210421 4270831 5067899 16963824 55623554 265927
197 58135624 28866206 5008827 5714231 12736693 37447000 10793
672 8701481 2212890 566221 930781 4472211 6814522 178113
177 3501246 798078 211288 322454 1582308 4069576 10570
3199 34915700 12341200 3177165 5942543 24518351 29490500 846064
1103 27504776 9236700 1867703 2522439 18995781 24114509 198330
355 6028845 2442844 615798 882349 4133576 5822004 0
514 12072855 4541129 1037160 1336765 6540186 11560674 343232
753 14736800 4938600 858854 1192193 10666200 19505281 24073
314 6384705 2308755 331417 631321 2982056 6877518 33813
213 2816093 1099979 141598 343058 1410423 2727921 10604
145 3352918 1283184 236120 361239 2328456 3063847 25889
202 6543019 2010235 570356 495342 2141065 6781600 118165];
[l,k]=find(A0==0);
ratio=mean(A0([1:l-1,l+1:end],k)./A0([1:l-1,l+1:end],2));
A0(l,k)=A0(l,2)*ratio;
A=[]; % A记录七个人均指标.
for i=2:size(A0,2)
A=[A A0(:,i)./A0(:,1)];
end
qiujlt(A,1) % 模糊聚类图.
B=round(A); % A取整为B,B将写入正文.
[m n]=size(A);
% 标准化原始数据矩阵 A,标准化矩阵仍记为 A.
A = biaozh(A);
% 将标准化矩阵 A 写入 excel,文件名为 result.xls.
you=fopen('result.xls','w');
fprintf(you,' \n');
fprintf(you,'标准化矩阵\n');
geshi1=[]; % 写入excel的书写格式.
for i=1:m-1
geshi1=[geshi1 '%f\t'];
end
geshi1=[geshi1 '%f\n'];
for i = 1:n
fprintf(you,geshi1,A(i,:));
end;
%%%%%%%%%%%%%%%%%%%%% 第一个问题:模糊聚类
R = qiumhjz(A,1); %数量积法建立模糊相似矩阵.
% 再应用平方法计算 R 的传递闭包,仍记闭包为 R.
R = qiubb(R);
% 将传递闭包矩阵 R 写入 resultforbook.xls.
fprintf(you,' \n');
fprintf(you,'模糊等价矩阵的传递闭包\n');
geshi2=[]; % 写入excel的书写格式.
for i=1:m-1
geshi2=[geshi2 '%f\t'];
end
geshi2=[geshi2 '%f\n'];
for i = 1:m
fprintf(you,geshi2,R(i,:));
end;
%求R的lamda截矩阵,这需要分类水平lamda:
lamda = qiusp(R);
% 将分类水平 lamda 写入 result_forbook.xls.
fprintf(you,' \n');
fprintf(you,'分类水平\n');
fprintf(you,geshi2,lamda);
for p=1:length(lamda)
%显示 lamda(p) 水平上分类情况.
M(:,:,p)=R>=lamda(p);
[cls nmb]=qiucls(M(:,:,p)); %求元胞数组cls及该分类方案下的分类数.
disp(' ') %显示一空行是为了方便阅读显示内容.
disp(['在分类水平 ',num2str(lamda(p)),' 上分为 ',num2str(nmb),' 类: '])
cities{1} ='北京 '; cities{2}='天津 '; cities{3}='石家庄 '; cities{4}='太原 ';
cities{5} ='呼和浩特 '; cities{6}='沈阳 '; cities{7}='大连 '; cities{8}='长春 ';
cities{9} ='哈尔滨 '; cities{10}='上海 '; cities{11}='南京 '; cities{12}='杭州 ';
cities{13}='宁波 '; cities{14}='合肥 '; cities{15}='福州 '; cities{16}='厦门 ';
cities{17}='南昌 '; cities{18}='济南 '; cities{19}='青岛 '; cities{20}='郑州 ';
cities{21}='武汉 '; cities{22}='长沙 '; cities{23}='广州 '; cities{24}='深圳 ';
cities{25}='南宁 '; cities{26}='海口 '; cities{27}='重庆 '; cities{28}='成都 ';
cities{29}='贵阳 '; cities{30}='昆明 '; cities{31}='西安 '; cities{32}='兰州 ';
cities{33}='西宁 '; cities{34}='银川 '; cities{35}='乌鲁木齐 ';
for i=1:nmb
if length(cls{i})==1
cities{cls{i}}(end)=[];
disp([' "', cities{cls{i}}, '"', ' 自成一类']);
else
ct=[];
for t=1:length(cls{i})
ct=[ct cities{cls{i}(t)}];
end
ct(end)=[];
disp([' "',ct,'"',' 归为一类']);
end
end
%求水平lamda(p)上的 F 值--F(p).
F(p)=qiuF(M(:,:,p),A);
end
disp(' ')
[v,ind]=max(F);
disp(['在所有分类方案中分为 ' num2str(ind) ' 类是最合理的.'])
%%%%%%%%%%%%%%%%%%%%% 第二个问题:模糊模式识别.
%计算七个类聚类中心.
I=[2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 28 29 30 32 34 35];
II=[25 27];
alpha1=mean(A(I,:)); alpha2=mean(A(II,:));
W=[A(1,:);alpha1;A(3,:);A(24,:);alpha2;A(31,:);A(33,:)];
% C-待识别的甲乙丙三城市的原始数据.
C=[89962 43704 13134 12756 19356 43662 658
37959 11662 8197 8251 12993 26005 857
16642 9037 11071 12112 28451 39037 1302];
C=biaozh(C);
D=dist(C,W'); % C到聚类中心W的欧氏距离.
disp(' ');
jyb='甲乙丙';
for i=1:size(D,1)
[val,ind]=min(D(i,:));
disp(['城市 ' jyb(i) ' 属于第 ' num2str(ind) ' 类.'])
end
%%%%%%%%%%%%%%%%%%%%% 第三个问题:模糊综合评价.
O=[1 1 1 1 1 1 0]; %虚拟的最优对象O.
E=dist(A,O'); % 35个城市到最优对象聚O的欧氏距离.
[hh ss]=sort(E); % ss记录了35个城市按距离的排序结果.
disp(' ')
disp('距离法给出35个城市排序为: ')
disp( num2str(ss'))
自己编写的模糊逻辑工具箱matlab程序
4星 · 超过85%的资源 需积分: 31 155 浏览量
2009-01-07
21:07:38
上传
评论
收藏 9KB RAR 举报
ilikenba
- 粉丝: 2
- 资源: 2