fprintf('相关系数矩阵:\\n')
std=CORRCOEF(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\\n')
[vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ;
[y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引 fprintf('特征根排序:\\n') for z=1:length(y)
newy(z)=y(length(y)+1-z); end
fprintf('%g\\n',newy) rate=y/sum(y);
fprintf('\\n贡献率:\\n')
newrate=newy/sum(newy) 《计量地理学》(徐建华,高等教育出版社,2005)配套实习指导
62sumrate=0;
newi=[];
for k=length(y):-1:1
sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break;
end
end %记下累积贡献率大85%的特征值的序号放入newi中 fprintf('主成分数:%g\\n\\n',length(newi)); fprintf('主成分载荷:\\n') for p=1:length(newi) for q=1:length(y)
result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p)); end
end %计算载荷 disp(result) 3.3 cwscore.m
%cwscore.m,计算得分
function score=cwscore(vector1,vector2); sco=vector1*vector2; csum=sum(sco,2);
[newcsum,i]=sort(-1*csum); [newi,j]=sort(i);
fprintf('计算得分:\\n')
score=[sco,csum,j]
%得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果 3.4 cwprint.m %cwprint.m
function print=cwprint(filename,a,b);
%filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数) fid=fopen(filename,'r')
vector=fscanf(fid,'%g',[a b]); fprintf('标准化结果如下:\\n') v1=cwstd(vector)
result=cwfac(v1);
cwscore(v1,result); 《计量地理学》(徐建华,高等教育出版社,2005)配套实习指导
634.程序测试
4.1原始数据 中国大陆35个大城市某年的10项社会经济统计指标数据见下表。 城 市 名 称 年底 总人口 (万人) 非农 业 人口比 (%)
农 业 总产值 (万元) 工业 总产值 (万元) 客运 总量 (万人) 货运 总量 (万吨) 地方财政 预算内收 入(万元) 城乡居民 年底储蓄 余额 (万元) 在岗职 工人数 (万人) 在岗职工
工资总额 (万元)
北 京 1 249.90 0.597 8 1 843 427 19 999 706 20 323 45 562 2 790 863 26 806 646
410.80 5 773 301
天 津 910.17 0.580 9 1 501 136 22 645 502 3 259 26 317 1 128 073 11 301 931 202.68 2 254 343
石 家 庄 875.40 0.233 2 2 918 680 6 885 768 2 929 1 911 352 348 7 095 875 95.60 758 877
太 原 299.92 0.656 3 236 038 2 737 750 1 937 11 895 203 277 3 943 100 88.65 654 023
呼和浩特 207.78 0.441 2 365 343 816 452 2 351 2 623 105 783 1 396 588 42.11 309 337 沈 阳 677.08 0.629 9 1 295 418 5 826 733 7 782 15 412 567 919 9 016 998 135.45 1 152 811
大 连 545.31 0.494 6 1 879 739 8 426 385 10 780 19 187 709 227 7 556 796 94.15 965 922
长 春 691.23 0.406 8 1 853 210 5 966 343 4 810 9 532 357 096 4 803 744 102.63 884 447
哈 尔 滨 927.09 0.462 7 2 663 855 4 186 123 6 720 7 520 481 443 6 450 020 172.79 1 309 151
上 海 1 313.12 0.738 4 2 069 019 54 529 098 6 406 44 485 4 318 500 25 971 200 336.84 5 605 445
南 京 537.44 0.534 1 989 199 13 072 737 14 269 11 193 664 299 5 680 472 113.81 1 357 861
杭 州 616.05 0.355 6 1 414 737 12 000 796 17 883 11 684 449 593 7 425 967 96.90 1 180 947
宁 波 538.41 0.254 7 1 428 235 10 622 866 22 215 10 298 501 723 5 246 350 62.15 824 034
合 肥 429.95 0.318 4 628 764 2 514 125 4 893 1 517 233 628 1 622 931 47.27 369 577
福 州 583.13 0.273 3 2 152 288 6 555 351 8 851 7 190 467 524 5 030 220 69.59 680 607
厦 门 128.99 0.486 5 333 374 5 751 124 3 728 2 570 418 758 2 108 331 46.93 657 484
南 昌 424.20 0.398 8 688 289 2 305 881 3 674 3 189 167 714 2 640 460 62.08 479 ,555 济 南 557.63 0.408 5 1 486 302 6 285 882 5 915 11 775 460 690 4 126 970 83.31 756 696
青 岛 702.97 0.369 3 2 382 320 11 492 036 13 408 17 038 658 435 4 978 045 103.52 961 704
郑 州 615.36 0.342 4 677 425 5 287 601 10 433 6 768 387 252 5 135 338 84.66 696 848
武 汉 740.20 0.586 9 1 211 291 7 506 085 9 793 15 442 604 658 5 748 055 149.20 1 314 766
长 沙 582.47 0.310 7 1 146 367 3 098 179 8 706 5 718 323 660 3 461 244 69.57 596 986
广 州 685.00 0.621 4 1 600 738 23 348 139 22 007 23 854 1 761 499 20 401 811 182.81 3 047 594
深 圳 119.85 0.793 1 299 662 20 368 295 8 754 4 274 1 847 908 9 519 900 91.26 1
890 338 《计量地理学》(徐建华,高等教育出版社,2005)配套实习指导
650.0271 0.0163 0.0508 0.0223 0.0243 0.0175 0.0200 0.0222 0.0183 0.0164
0.0060 0.0290 0.0079 0.0195 0.0102 0.0063 0.0179 0.0093 0.0124 0.0159 0.0197 0.0237 0.0162 0.0078 0.0101 0.0078 0.0072 0.0117 0.0164 0.0116 0.0259 0.0243 0.0350 0.0214 0.0162 0.0287 0.0197 0.0182 0.0220 0.0182 0.0327 0.0220 0.0562 0.0391 0.0367 0.0416 0.0282 0.0220 0.0273 0.0232 0.0286 0.0204 0.0160 0.0180 0.0286 0.0165 0.0166 0.0227 0.0223 0.0168 0.0344 0.0349 0.0286 0.0255 0.0268 0.0377 0.0259 0.0254 0.0393 0.0317 0.0271 0.0185 0.0270 0.0105 0.0239 0.0140 0.0139 0.0153 0.0183 0.0144 0.0318 0.0370 0.0377 0.0793 0.0603 0.0582 0.0754 0.0901 0.0482 0.0735 0.0056 0.0472 0.0071 0.0692 0.0240 0.0104 0.0791 0.0421 0.0240 0.0456 0.0133 0.0242 0.0170 0.0039 0.0141 0.0080 0.0064 0.0097 0.0119 0.0090 0.0025 0.0497 0.0011 0.0024 0.0146 0.0057 0.0049 0.0072 0.0050 0.0048 0.1428 0.0123 0.0983 0.0292 0.1437 0.0613 0.0385 0.0402 0.0590 0.0387 0.0466 0.0199 0.0456 0.0200 0.1100 0.0479 0.0240 0.0331 0.0350 0.0290 0.0149 0.0271 0.0085 0.0076 0.0430 0.0101 0.0085 0.0079 0.0146 0.0101 0.0220 0.0230 0.0187 0.0123 0.0154 0.0294 0.0224 0.0182 0.0232 0.0203 0.0313 0.0244 0.0174 0.0125 0.0283 0.0238 0.0175 0.0259 0.0300 0.0213 0.0134 0.0324 0.0061 0.0100 0.0050 0.0116 0.0073 0.0117 0.0173 0.0133 0.0062 0.0311 0.0016 0.0024 0.0048 0.0036 0.0021 0.0038 0.0072 0.0053 0.0044 0.0340 0.0040 0.0022 0.0058 0.0029 0.0032 0.0036 0.0063 0.0043 0.0074 0.0491 0.0019 0.0063 0.0073 0.0221 0.0109 0.0105 0.0146 0.0125 相关系数矩阵 :
std =
1.0000 -0.3444 0.8425 0.3603 0.7390 0.6215 0.4039 0.4689
-0.3444 1.0000 -0.4750 0.3096 -0.3539 0.1971 0.3571 0.3090
0.8425 -0.4750 1.0000 0.3358 0.5891 0.5056 0.3236 0.3742
0.3603 0.3096 0.3358 1.0000 0.1507 0.7664 0.9412 0.8614
0.7390 -0.3539 0.5891 0.1507 1.0000 0.4294 0.1971 0.2595
0.6215 0.1971 0.5056 0.7664 0.4294 1.0000 0.8316 0.9027
0.4039 0.3571 0.3236 0.9412 0.1971 0.8316 1.0000 0.9527
0.4967 0.2600 0.4456 0.8480 0.3182 0.8966 0.9233 0.4967 0.6761 0.2600 0.1570 0.4456 0.5575 0.8480 0.7320 0.3182 0.3893 0.8966 0.9302 0.9233 0.8376 1.0000 0.9201

