主成分分析的matlab实现完整程序_第1页
主成分分析的matlab实现完整程序_第2页
主成分分析的matlab实现完整程序_第3页
主成分分析的matlab实现完整程序_第4页
主成分分析的matlab实现完整程序_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计量地理学(徐建华,高等教育出版社,2005)配套实习指导PAGE PAGE 79主成分分析1.概述 Matlab语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 = 1 * GB3 计算相关系数矩阵 (1)在(3.5.

2、3)式中,rij(i,j=1,2,p)为原变量的xi与xj之间的相关系数,其计算公式为 (2)因为R是实对称矩阵(即rij=rji),所以只需计算上三角元素或下三角元素即可。 = 2 * GB3 计算特征值与特征向量首先解特征方程,通常用雅可比法(Jacobi)求出特征值,并使其按大小顺序排列,即;然后分别求出对应于特征值的特征向量。这里要求=1,即,其中表示向量的第j个分量。 = 3 * GB3 计算主成分贡献率及累计贡献率主成分的贡献率为累计贡献率为一般取累计贡献率达8595%的特征值所对应的第一、第二,第m(mp)个主成分。 = 4 * GB3 计算主成分载荷其计算公式为 (3)得到各主

3、成分的载荷以后,还可以按照(3.5.2)式进一步计算,得到各主成分的得分 (4)2.程序结构及函数作用在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab种自带程序实现。下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。2.1程序结构Cwprint.m 主函数 子函数 Cwfac.mCwscore.mCwstd.m2.2函数作用Cwstd.m用总和标准化法标准化矩阵Cwfac.m计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷Cwsco

4、re.m计算各主成分得分、综合得分并排序Cwprint.m读入数据文件;调用以上三个函数并输出结果3.源程序3.1 cwstd.m%cwstd.m,用总和标准化法标准化矩阵function std=cwstd(vector)cwsum=sum(vector,1); %对列求和a,b=size(vector); %矩阵大小,a为行数,b为列数for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); endend3.2 cwfac.m%cwfac.mfunction result=cwfac(vector);fprintf(相关系数矩阵:n)std=C

5、ORRCOEF(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);endfprintf(%gn,newy)rate=y/sum(y);fprintf(n贡献率:n)newrate=newy/sum(newy)sumrate=0;newi=;for k

6、=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate0.85 break; end end %记下累积贡献率大85%的特征值的序号放入newi中fprintf(主成分数:%gnn,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); endend %计算载荷disp(result)3.3 cwscore.m%cwscor

7、e.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.mfunction print=cwprint(filename,a,b); %filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数)fid=fop

8、en(filename,r)vector=fscanf(fid,%g,a b);fprintf(标准化结果如下:n)v1=cwstd(vector)result=cwfac(v1);cwscore(v1,result);4.程序测试4.1原始数据中国大陆35个大城市某年的10项社会经济统计指标数据见下表。城 市名 称年底总人口(万人) 非农业人口比(%) 农 业总产值(万元)工业总产值(万元)客运总量(万人)货运总量(万吨)地方财政预算内收入(万元)城乡居民年底储蓄余额(万元)在岗职工人数(万人)在岗职工工资总额(万元)北 京1 249.900.597 81 843 42719 999 706

9、20 32345 5622 790 86326 806 646410.805 773 301天 津910.170.580 91 501 13622 645 5023 25926 3171 128 07311 301 931202.682 254 343石 家 庄875.400.233 22 918 6806 885 7682 9291 911352 3487 095 87595.60758 877太 原299.920.656 3236 0382 737 7501 93711 895203 2773 943 10088.65654 023呼和浩特207.780.441 2365 343816 4

10、522 3512 623105 7831 396 58842.11309 337沈 阳677.080.629 91 295 4185 826 7337 78215 412567 9199 016 998135.451 152 811大 连545.310.494 61 879 7398 426 38510 78019 187709 2277 556 79694.15965 922长 春691.230.406 81 853 2105 966 3434 8109 532357 0964 803 744102.63884 447哈 尔 滨927.090.462 72 663 8554 186 1236

11、 7207 520481 4436 450 020172.791 309 151上 海1 313.120.738 42 069 01954 529 0986 40644 4854 318 50025 971 200336.845 605 445南 京537.440.534 1989 19913 072 73714 26911 193664 2995 680 472113.811 357 861杭 州616.050.355 61 414 73712 000 79617 88311 684449 5937 425 96796.901 180 947宁 波538.410.254 71 428 235

12、10 622 86622 21510 298501 7235 246 35062.15824 034合 肥429.950.318 4628 7642 514 1254 8931 517233 6281 622 93147.27369 577福 州583.130.273 32 152 2886 555 3518 8517 190467 5245 030 22069.59680 607厦 门128.990.486 5333 3745 751 1243 7282 570418 7582 108 33146.93657 484南 昌424.200.398 8688 2892 305 8813 6743

13、 189167 7142 640 46062.08479 ,555济 南557.630.408 51 486 3026 285 8825 91511 775460 6904 126 97083.31756 696青 岛702.970.369 32 382 32011 492 03613 40817 038658 4354 978 045103.52961 704郑 州615.360.342 4677 4255 287 60110 4336 768387 2525 135 33884.66696 848武 汉740.200.586 91 211 2917 506 0859 79315 44260

14、4 6585 748 055149.201 314 766长 沙582.470.310 71 146 3673 098 1798 7065 718323 6603 461 24469.57596 986广 州685.000.621 41 600 73823 348 13922 00723 8541 761 49920 401 811182.813 047 594深 圳119.850.793 1299 66220 368 2958 7544 2741 847 9089 519 90091.261 890 338南 宁285.870.406 4720 4861 149 6915 1303 2931

15、49 7002 190 91845.09371 809海 口54.380.835 444 815717 4615 3452 356115 1741 626 80019.01198 138重 庆3 072.340.206 74 168 7808 585 52552 44125 124898,9129 090 969223.731 606 804成 都1 003.560.3351 935 5905 894 28940 14019 632561 1897 479 684132.891 200 671贵 阳321.500.455 7362 0612 247 93415 7034 143197 9081

16、 787 74855.28419 681昆 明473.390.386 5793 3563 605 7295 60412 042524 2164 127 90088.11842 321西 安674.500.409 4739 9053 665 94210 3119 766408 8965 863 980114.01885 169兰 州287.590.544 5259 4442 940 8841 8324 749169 5402 641 56865.83550 890西 宁133.950.522 765 848711 3101 7461 46949 134855 05127.21219 251银 川

17、95.380.570 9171 603661 2262 1061 19374 758814 10323.72178 621乌鲁木齐158.920.824 478 5131 847 2412 6689 041254 8702 365 50855.27517 6224.2运行结果 cwprint(cwbook.txt,35,10)fid =6数据标准化结果如下:v1 =0.0581 0.0356 0.0435 0.0680 0.0557 0.1112 0.1194 0.1184 0.1083 0.13920.0423 0.0346 0.0354 0.0770 0.0089 0.0642 0.048

18、3 0.0499 0.0534 0.05440.0407 0.0139 0.0688 0.0234 0.0080 0.0047 0.0151 0.0314 0.0252 0.01830.0139 0.0391 0.0056 0.0093 0.0053 0.0290 0.0087 0.0174 0.0234 0.01580.0097 0.0263 0.0086 0.0028 0.0064 0.0064 0.0045 0.0062 0.0111 0.00750.0315 0.0375 0.0305 0.0198 0.0213 0.0376 0.0243 0.0398 0.0357 0.02780.

19、0253 0.0295 0.0443 0.0286 0.0295 0.0468 0.0304 0.0334 0.0248 0.02330.0321 0.0242 0.0437 0.0203 0.0132 0.0233 0.0153 0.0212 0.0270 0.02130.0431 0.0276 0.0628 0.0142 0.0184 0.0184 0.0206 0.0285 0.0455 0.03160.0610 0.0440 0.0488 0.1853 0.0176 0.1086 0.1848 0.1148 0.0888 0.13520.0250 0.0318 0.0233 0.044

20、4 0.0391 0.0273 0.0284 0.0251 0.0300 0.03270.0286 0.0212 0.0334 0.0408 0.0490 0.0285 0.0192 0.0328 0.0255 0.02850.0250 0.0152 0.0337 0.0361 0.0609 0.0251 0.0215 0.0232 0.0164 0.01990.0200 0.0190 0.0148 0.0085 0.0134 0.0037 0.0100 0.0072 0.0125 0.00890.0271 0.0163 0.0508 0.0223 0.0243 0.0175 0.0200 0

21、.0222 0.0183 0.01640.0060 0.0290 0.0079 0.0195 0.0102 0.0063 0.0179 0.0093 0.0124 0.01590.0197 0.0237 0.0162 0.0078 0.0101 0.0078 0.0072 0.0117 0.0164 0.01160.0259 0.0243 0.0350 0.0214 0.0162 0.0287 0.0197 0.0182 0.0220 0.01820.0327 0.0220 0.0562 0.0391 0.0367 0.0416 0.0282 0.0220 0.0273 0.02320.028

22、6 0.0204 0.0160 0.0180 0.0286 0.0165 0.0166 0.0227 0.0223 0.01680.0344 0.0349 0.0286 0.0255 0.0268 0.0377 0.0259 0.0254 0.0393 0.03170.0271 0.0185 0.0270 0.0105 0.0239 0.0140 0.0139 0.0153 0.0183 0.01440.0318 0.0370 0.0377 0.0793 0.0603 0.0582 0.0754 0.0901 0.0482 0.07350.0056 0.0472 0.0071 0.0692 0

23、.0240 0.0104 0.0791 0.0421 0.0240 0.04560.0133 0.0242 0.0170 0.0039 0.0141 0.0080 0.0064 0.0097 0.0119 0.00900.0025 0.0497 0.0011 0.0024 0.0146 0.0057 0.0049 0.0072 0.0050 0.00480.1428 0.0123 0.0983 0.0292 0.1437 0.0613 0.0385 0.0402 0.0590 0.03870.0466 0.0199 0.0456 0.0200 0.1100 0.0479 0.0240 0.03

24、31 0.0350 0.02900.0149 0.0271 0.0085 0.0076 0.0430 0.0101 0.0085 0.0079 0.0146 0.01010.0220 0.0230 0.0187 0.0123 0.0154 0.0294 0.0224 0.0182 0.0232 0.02030.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.01330.0062

25、0.0311 0.0016 0.0024 0.0048 0.0036 0.0021 0.0038 0.0072 0.00530.0044 0.0340 0.0040 0.0022 0.0058 0.0029 0.0032 0.0036 0.0063 0.00430.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.4967 0.6761 0.4689-0.3444 1.0000 -0.

26、4750 0.3096 -0.3539 0.1971 0.3571 0.2600 0.1570 0.30900.8425 -0.4750 1.0000 0.3358 0.5891 0.5056 0.3236 0.4456 0.5575 0.37420.3603 0.3096 0.3358 1.0000 0.1507 0.7664 0.9412 0.8480 0.7320 0.86140.7390 -0.3539 0.5891 0.1507 1.0000 0.4294 0.1971 0.3182 0.3893 0.25950.6215 0.1971 0.5056 0.7664 0.4294 1.

27、0000 0.8316 0.8966 0.9302 0.90270.4039 0.3571 0.3236 0.9412 0.1971 0.8316 1.0000 0.9233 0.8376 0.95270.4967 0.2600 0.4456 0.8480 0.3182 0.8966 0.9233 1.0000 0.9201 0.97310.6761 0.1570 0.5575 0.7320 0.3893 0.9302 0.8376 0.9201 1.0000 0.93960.4689 0.3090 0.3742 0.8614 0.2595 0.9027 0.9527 0.9731 0.939

28、6 1.0000特征向量(vec):vec =-0.1367 0.2282 -0.2628 0.1939 0.6371 -0.2163 0.3176 -0.1312 -0.4191 0.2758-0.0329 -0.0217 0.0009 0.0446 -0.1447 -0.4437 0.4058 -0.5562 0.5487 0.0593-0.0522 -0.0280 0.2040 -0.0492 -0.5472 -0.4225 0.3440 0.3188 -0.4438 0.2401 0.0067 -0.4176 -0.2856 -0.2389 0.1926 -0.4915 -0.4189

29、 0.2726 0.2065 0.3403 0.0404 0.1408 0.0896 0.0380 -0.1969 -0.0437 -0.4888 -0.6789 -0.4405 0.1861-0.0343 0.2360 0.0640 -0.8294 0.0377 0.2662 0.1356 -0.1290 0.0278 0.37820.2981 0.4739 0.5685 0.2358 0.1465 -0.1502 -0.2631 0.1245 0.2152 0.36440.1567 0.3464 -0.6485 0.2489 -0.4043 0.2058 -0.0704 0.0462 0.

30、1214 0.38120.4879 -0.5707 0.1217 0.1761 0.0987 0.3550 0.3280 -0.0139 0.0071 0.3832-0.7894 -0.1628 0.1925 0.2510 -0.0422 0.2694 0.0396 0.0456 0.1668 0.3799特征值(val)val =0.0039 0 0 0 0 0 0 0 0 00 0.0240 0 0 0 0 0 0 0 00 0 0.0307 0 0 0 0 0 0 0 0 0 0 0.0991 0 0 0 0 0 0 0 0 0 0 0.1232 0 0 0 0 0 0 0 0 0 0

31、0.2566 0 0 0 00 0 0 0 0 0 0.3207 0 0 00 0 0 0 0 0 0 0.5300 0 00 0 0 0 0 0 0 0 2.3514 00 0 0 0 0 0 0 0 0 6.2602特征根排序:6.260222.351380.5300470.3206990.2566390.1232410.09909150.03070880.02403550.00393387各主成分贡献率:newrate =0.6260 0.2351 0.0530 0.0321 0.0257 0.0123 0.0099 0.0031 0.0024 0.0004第一、二主成分的载荷: 0.6

32、90 1 -0.6427 0.148 3 0.8414 0.600 7 -0.6805 0.851 5 0.3167 0.465 6 -0.6754 0.946 3 0.0426 0.911 7 0.3299 0.953 7 0.1862 0.958 9 0.0109 0.950 6 0.2558第一、二、三、四主成分的得分:score = 0.718 5 0.049 9 0.768 4 2.0000 0.380 6 0.038 6 0.419 2 4.0000 0.184 8 -0.043 3 0.141 4 21.0000 0.118 6 0.031 1 0.149 7 20.0000 0

33、.054 9 0.011 5 0.066 4 33.0000 0.228 8 0.007 0 0.235 8 7.000 0 0.2364 -0.0081 0.2283 10.0000 0.1778 -0.0167 0.1611 16.0000 0.2292 -0.0337 0.1955 14.0000 0.8382 0.1339 0.9721 1.0000 0.2276 0.0064 0.2340 8.0000 0.2279 -0.0222 0.2056 12.0000 0.1989 -0.0382 0.1607 18.0000 0.0789 -0.0061 0.0728 32.0000 0

34、.1711 -0.0317 0.1394 23.0000 0.0926 0.0266 0.1192 25.0000 0.0900 -0.0000 0.0899 28.0000 0.1692 -0.0082 0.1610 17.0000 0.2441 -0.0318 0.2124 11.0000 0.1507 -0.0108 0.1399 22.0000 0.2316 0.0012 0.2328 9.0000 0.1294 -0.0211 0.1083 27.0000 0.4716 0.0328 0.5045 3.0000 0.2737 0.0834 0.3570 5.0000 0.0754 -

35、0.0013 0.0741 31.0000 0.0448 0.0349 0.0797 30.0000 0.4759 -0.2028 0.2731 6.0000 0.2907 -0.0883 0.2024 13.0000 0.0944 -0.0118 0.0826 29.0000 0.1546 0.0035 0.1581 19.0000 0.1718 -0.0092 0.1626 15.0000 0.0865 0.0230 0.1095 26.0000 0.0349 0.0216 0.0566 35.0000 0.0343 0.0228 0.0572 34.0000 0.0889 0.0422

36、0.1310 24.0000祝大家haoyun 附录资料:MATLAB Cell函数使用技巧谈谈MATLAB中cell函数如果p为一个数,那么h(1)=p,是没有问题的。如果p为一个向量,那么h(1,:)=p是没有问题的。如果p是一个矩阵的话,上面的两种赋值方法都是会有错误的。那么要如何处理呢?这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。a=cell(n,m)那么就把a初始化为一个n行m列的空cell类型数据。如何赋值呢?a1,1=rand(5)那么a的1行1列的单元中存储的就是一

37、个随机的55的方阵了。那么要用第一个单元中的方阵中的某个值呢?可以如下引用:a1,1(2,3)就可以了,引用cell单元时要用,再引用矩阵的某个数据就要用()了。cell单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。下面举个例子:a=cell(2,2);%预分配a1,1=cellclass;a1,2=1 2 2;a2,1=a,b,c;a2,2=9 5 6;a1,1ans =cellclassa1,2ans = 1 2 2a2,:ans =abcans = 9 5 6 b=a1,1b =cellclass元胞数组:元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组

38、看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。(1)元胞数组的创建 a=matlab,20;ones(2,3),1:10a = matlab 20 2x3 double 1x10 double b=matlab,20;ones(2,3),1:10b = matlab 20 2x3 double 1x10 double c=10c = 10c(1,2)=2c = 10

39、2c(2,2)=5c = 10 2 5isequal(a,b)ans = 1whosName Size Bytes Class Attributesa 2x2 388 cell ans 1x1 1 logical b 2x2 388 cell c 2x2 208 cell 用cell函数创建元胞数组,创建的数组为空元胞。cell函数创建空元胞数组的主要目的是为数组预先分配连续的存储空间,节约内存占用,提高执行效率。 a=cell(1)a = b=cell(1,2)b = c=cell(3,3)c = d=cell(2,2,2)d(:,:,1) = d(:,:,2) = whosName Siz

40、e Bytes Class Attributesa 1x1 4 cell ans 1x1 1 logical b 1x2 8 cell c 3x3 36 cell d 2x2x2 32 cell (2)元胞数组的数据获得从元胞数组中读取数据,可保存为一个标准的数组或一个新的单元数组,或取出数组进行计算。元胞数组中数据的访问,可通过元胞内容的下标进行,用元胞数组名加大括号。大括号中数值表示元胞的下标。如a1,2表示元胞数组中第一行第二列的元胞。 a=20,matlab;ones(2,3),1:3a = 20 matlab 2x3 double 1x3 doublestr=a(1,2)str =

41、matlabclass(str)ans =cellstr=a1,2str =matlabclass(str)ans =char()和有着本质的区别,大括号用于表示元胞的内容,小括号表示指定的元胞。a = 20 matlab 2x3 double 1x3 doublea2,1(2,2)ans = 0.9134a2,1(2,3)ans = 0.0975a1,2(2)ans =a使用元胞的下标,可将一个元胞数组的子集赋值给另一个变量,创建新的元胞数组。 a=1,2,3;4,5,6;7,8,9a = 1 2 3 4 5 6 7 8 9 b=a(2:3,2:3)b = 5 6 8 9 c=a(1:3,2

42、:3)c = 2 3 5 6 8 9本例使用元胞下标的方式创建了新的元胞数组b和c,通过结果看出b和c就是元胞数组a的一部分。(3)元胞数组的删除和重塑要删除单元数组中的行或列,可以用冒号表示单元数组中的行或列,然后对其赋一个空矩阵即可。a=20,matlab;ones(2,3),1:3a = 20 matlab 2x3 double 1x3 doublea(1,:)=a = 2x3 double 1x3 double a=20,matlab;ones(2,3),1:3;a1=a = matlab 2x3 double 1x3 doublea(1)=a = 2x3 double matlab

43、1x3 doublea(2)=a = 2x3 double 1x3 doublea(1,2)=? A null assignment can have only one non-colon index.a(1)=a = 1x3 double元宝数组和其他数组一样,也可以通过reshape函数改变形状,改变后的元胞数组与原元胞数组的元素个数相同,不能通过改变形状来添加或删除元胞数组中的元素。 a=cell(4,4)a = size(a)ans = 4 4 b=reshape(a,2,8)b = size(b)ans = 2 8(5)元胞数组中的操作函数 cell:创建空的元胞数组cellfun:为元胞数组的每个元胞执行指定的函数celldisp:显示所有元胞的内容cellplot:利用图形方式显示元胞数组 cell2mat:将元胞数组转变成为普通的矩阵 mat2cell:将数值矩阵转变成为元胞数组 num2cell:将数值数组转变成为元胞数组 deal:将输入参数赋值给输出 cell2struct:将元胞数组转变成为结构 struct2cell:将结构转变为元胞数组iscell:判断输入是否为元胞数组 a=20,matlab,3-7i;ones(2,3),1:3,0a = 20 matlab 3.0000 -

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论