Files
it-labs/ТЕМА2/report.md
2026-02-12 08:20:34 +03:00

791 строка
14 KiB
Markdown

\# Отчет по теме 2
Бакайкин Константин, А-03-24
\## 1 Настройка текущего каталога:
Нажал на окно рядом с \*Текущая папка:\* и установил путь к папке ТЕМА2:
!\[Скриншот выбора текущей папки](assets/figure0.png)
\## 2 Изучение и работа с файлом dan\_vuz.txt
* Изучили файл и проанализировали его
* Прочитали данные из файла:
```matlab
>> XX=load('dan\_vuz.txt')
XX =
 Columns 1 through 9:
  1.9700e+02 1.3717e+06 8.0000e+00 4.0000e+00 2.0000e+00 5.3000e+01 7.0000e+00 7.6000e+01 1.3000e+01
  1.9800e+02 7.3820e+05 4.0000e+00 5.0000e+00 6.0000e+00 7.1000e+01 5.0000e+00 3.6000e+01 1.3000e+01
  1.9900e+02 2.4167e+05 1.0000e+00 0 1.0000e+00 5.0000e+00 5.0000e+00 2.0000e+00 0
  2.0000e+02 6.1990e+05 3.0000e+00 1.0000e+00 1.0000e+00 2.8000e+01 0 2.4000e+01 0
  2.0100e+02 1.7553e+06 7.0000e+00 1.0000e+01 6.0000e+00 5.4000e+01 7.0000e+00 4.6000e+01 2.0000e+00
  2.0200e+02 5.7215e+05 0 2.0000e+00 2.0000e+00 2.2000e+01 7.0000e+00 1.7000e+01 0
  2.0300e+02 1.4322e+06 0 6.0000e+00 1.1000e+01 3.0000e+01 8.0000e+00 8.8000e+01 0
  2.0400e+02 1.3277e+06 5.0000e+00 2.0000e+00 0 7.8000e+01 3.0000e+00 4.0000e+01 6.0000e+00
  2.0500e+02 4.9080e+05 7.0000e+00 0 0 2.0000e+01 0 3.0000e+01 1.2000e+01
  ...
Columns 10 through 15:
  0 1.0000e+00 5.0000e+00 5.0000e+00 8.7000e+01 9.6000e+01
  0 4.0000e+00 0 0 4.0000e+01 3.3000e+01
  0 2.0000e+00 0 0 1.1000e+01 6.0000e+00
  0 0 3.0000e+00 0 1.6000e+01 1.4000e+01
  0 3.0000e+00 2.0000e+00 0 1.6800e+02 4.1000e+01
  0 0 2.0000e+00 1.0000e+00 1.8000e+01 1.0000e+01
  ...
```
* Проверили размерность матрицы XX:
```matlab
>> size(XX)
ans =
  290 15
```
Так как строк 290, то данные представлены о 290 вузах
* Выделили отдельную матрицу под данные о результативности:
```matlab
>> X=XX(:,3:13)
X =
  8 4 2 53 7 76 13 0 1 5 5
  4 5 6 71 5 36 13 0 4 0 0
  1 0 1 5 5 2 0 0 2 0 0
  3 1 1 28 0 24 0 0 0 3 0
  7 10 6 54 7 46 2 0 3 2 0
  0 2 2 22 7 17 0 0 0 2 1
  0 6 11 30 8 88 0 0 11 14 2
  5 2 0 78 3 40 6 0 10 9 0
  7 0 0 20 0 30 12 0 6 1 15
  1 1 1 12 3 13 3 0 1 2 0
  8 4 3 33 1 37 8 0 3 6 3
  9 5 6 24 8 36 5 0 1 4 14
  5 5 4 57 7 56 25 0 0 12 1
  1 4 0 7 0 1 3 0 0 0 0
  2 8 0 83 6 70 4 0 6 5 0
  1 0 0 0 0 6 0 0 0 2 0
  2 28 8 326 76 213 21 0 1 22 1
  1 1 1 42 2 0 1 0 0 1 5
  1 0 0 13 0 0 0 0 0 0 0
  3 2 2 76 8 92 21 0 0 12 5
  0 1 0 7 1 7 2 0 3 1 0
  7 2 1 70 0 23 27 0 5 9 7
  3 0 0 11 0 3 0 0 0 0 0
  10 9 4 23 0 35 0 0 0 12 3
  22 3 7 46 0 7 11 0 0 2 0
  ...
```
* Составили матрицу корреляций между показателями результативности
```matlab
>> R=corr(X)
R =
 Columns 1 through 9:
  1.0000e+00 4.4320e-01 4.5229e-01 4.4779e-01 3.8123e-01 4.6516e-01 3.1487e-01 6.5579e-02 2.9153e-01
  4.4320e-01 1.0000e+00 8.5319e-01 8.5331e-01 8.6240e-01 8.5436e-01 5.5145e-01 2.5082e-02 4.2348e-01
  4.5229e-01 8.5319e-01 1.0000e+00 8.4660e-01 8.8651e-01 9.0335e-01 5.5091e-01 3.8840e-03 4.4396e-01
  4.4779e-01 8.5331e-01 8.4660e-01 1.0000e+00 8.7038e-01 9.3849e-01 7.0924e-01 4.9500e-02 4.5873e-01
  3.8123e-01 8.6240e-01 8.8651e-01 8.7038e-01 1.0000e+00 9.3605e-01 5.7668e-01 3.7562e-02 3.8322e-01
  4.6516e-01 8.5436e-01 9.0335e-01 9.3849e-01 9.3605e-01 1.0000e+00 6.3033e-01 4.7121e-02 4.7592e-01
  3.1487e-01 5.5145e-01 5.5091e-01 7.0924e-01 5.7668e-01 6.3033e-01 1.0000e+00 7.9448e-02 4.1878e-01
  6.5579e-02 2.5082e-02 3.8840e-03 4.9500e-02 3.7562e-02 4.7121e-02 7.9448e-02 1.0000e+00 4.7985e-02
  2.9153e-01 4.2348e-01 4.4396e-01 4.5873e-01 3.8322e-01 4.7592e-01 4.1878e-01 4.7985e-02 1.0000e+00
  4.8811e-01 8.2170e-01 7.8358e-01 8.5183e-01 7.7266e-01 8.3810e-01 6.2936e-01 5.6462e-02 6.2616e-01
  3.9815e-01 2.6183e-01 2.6408e-01 3.4420e-01 1.8751e-01 3.3118e-01 2.8287e-01 1.3662e-01 4.5537e-01
 Columns 10 and 11:
  4.8811e-01 3.9815e-01
  8.2170e-01 2.6183e-01
  7.8358e-01 2.6408e-01
  8.5183e-01 3.4420e-01
  7.7266e-01 1.8751e-01
  8.3810e-01 3.3118e-01
  6.2936e-01 2.8287e-01
  5.6462e-02 1.3662e-01
  6.2616e-01 4.5537e-01
  1.0000e+00 3.8799e-01
  3.8799e-01 1.0000e+00
```
Используем метод главных компонентов:
* получаем собственные значения и собственные векторы от квадратичной фор-мы
```matlab
>> \[vect,lambda]=eig(X'\*X)
vect =
 Columns 1 through 9:
  1.3928e-03 3.7187e-02 -6.5276e-02 1.1402e-01 -5.7482e-02 -4.3369e-01 -8.6174e-01 1.8078e-02 -2.0942e-01
  -8.0998e-04 6.0909e-01 3.8181e-01 -5.6588e-01 -2.6231e-01 2.2396e-01 -1.8894e-01 -2.6535e-02 7.3599e-02
  -7.5396e-03 -4.5900e-01 -5.2153e-01 -6.7233e-01 -1.9752e-01 9.4377e-02 -1.1098e-01 -3.7697e-03 2.9602e-02
  -1.5197e-04 -2.3868e-03 -3.9384e-02 2.0471e-02 2.9085e-02 -4.2879e-02 3.9810e-02 -2.5705e-01 1.7315e-01
  1.0985e-03 -2.1296e-02 -1.7772e-02 1.0189e-01 1.5147e-01 2.9246e-02 -2.2268e-01 9.3732e-02 8.4203e-01
  4.6341e-05 2.4446e-02 3.4514e-02 6.8266e-03 -2.8773e-02 -3.6347e-02 1.2360e-01 5.5571e-02 -4.0806e-01
  1.1860e-03 4.2558e-03 2.3496e-02 -4.8185e-02 -1.5673e-02 -5.8142e-02 5.8108e-02 9.5701e-01 5.2365e-03
  -9.9994e-01 5.6340e-04 6.5198e-03 4.0470e-03 7.5475e-03 1.2608e-03 -2.3724e-03 1.4645e-03 -1.0271e-03
  -1.6282e-03 4.6826e-01 -6.5978e-01 2.6872e-01 2.8869e-02 4.9535e-01 -1.2025e-01 5.8771e-02 -9.1452e-02
  1.7002e-03 -4.2581e-01 3.3001e-01 2.8074e-01 -3.9004e-01 6.2610e-01 -2.7487e-01 3.6416e-02 -5.9676e-02
  7.7010e-03 -1.2368e-01 1.7350e-01 -2.2481e-01 8.4320e-01 3.2876e-01 -2.2260e-01 1.8627e-02 -1.7997e-01
 Columns 10 and 11:
  4.4068e-02 3.5306e-02
  6.2111e-03 4.6772e-02
  -4.1502e-02 4.8953e-02
  7.2027e-01 6.1556e-01
  -3.7246e-01 2.4277e-01
  -5.1787e-01 7.3685e-01
  2.5496e-01 9.5893e-02
  5.5851e-04 1.6945e-04
  2.0459e-02 1.7911e-02
  5.3342e-02 5.9523e-02
  4.8313e-02 1.7425e-02
lambda =
Diagonal Matrix
 Columns 1 through 9:
  2.2947e+01 0 0 0 0 0 0 0 0
  0 1.9317e+03 0 0 0 0 0 0 0
  0 0 2.5940e+03 0 0 0 0 0 0
  0 0 0 3.4573e+03 0 0 0 0 0
  0 0 0 0 5.6252e+03 0 0 0 0
  0 0 0 0 0 8.6721e+03 0 0 0
  0 0 0 0 0 0 1.8915e+04 0 0
  0 0 0 0 0 0 0 4.7523e+04 0
  0 0 0 0 0 0 0 0 5.7484e+04
  0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0
 Columns 10 and 11:
  0 0
  0 0
  0 0
  0 0
  0 0
  0 0
  0 0
  0 0
  0 0
  2.2565e+05 0
  0 7.4946e+06
```
* Выделяем данные из гл. диагонали матрицы lambda в отдельный вектор и представляем их на экране с заголовком
```matlab
>> Sobst=diag(lambda);
>> fprintf('Eigenvalues:\\n %f \\n',Sobst)
Eigenvalues:
 22.946585
Eigenvalues:
 1931.665464
Eigenvalues:
 2593.979592
Eigenvalues:
 3457.339562
Eigenvalues:
 5625.151474
Eigenvalues:
 8672.065947
Eigenvalues:
 18914.627989
Eigenvalues:
 47522.678185
Eigenvalues:
 57483.681267
Eigenvalues:
 225653.068540
Eigenvalues:
 7494628.795394
>> fprintf('\\n')
```
* Выделяем наиб. собственное знач. и соответствующий ему собственный вектор
```matlab
SobMax=Sobst(end)
SobMax = 7.4946e+06
>> GlComp=vect(:,end)
GlComp =
  3.5306e-02
  4.6772e-02
  4.8953e-02
  6.1556e-01
  2.4277e-01
  7.3685e-01
  9.5893e-02
  1.6945e-04
  1.7911e-02
  5.9523e-02
  1.7425e-02
```
* ю
```matlab
>> Delt=100\*SobMax/sum(Sobst)
Delt = 95.273
>> fprintf('Delta= %d \\n ',round(Delt))
Delta= 95
```
* ю
```matlab
>> Res=X\*GlComp
Res =
  9.2542e+01
  7.3433e+01
  5.8855e+00
  3.5300e+01
  7.0208e+01
  2.8096e+01
  8.7136e+01
  7.9776e+01
  3.6243e+01
  1.8250e+01
  4.9667e+01
  4.5067e+01
  8.1785e+01
  5.5559e+00
  1.0536e+02
  4.5755e+00
  3.8120e+02
  2.6713e+01
  8.0376e+00
  1.1963e+02
  1.0061e+01
  6.3763e+01
  9.0877e+00
  4.1684e+01
  3.5907e+01
  7.6140e+01
  2.3753e+01
  1.4222e+02
  6.7756e+01
  2.0598e+01
  7.6819e+01
  1.0428e+02
  1.8542e+01
  4.4740e+00
  3.5809e+00
  2.2476e+02
  2.6864e+01
  2.1291e+02
  5.0922e+01
  3.3628e+01
  4.2168e+01
  1.0370e+02
  1.3606e+02
  ...
fprintf(' Results \\n ')
 Results
 >> fprintf('%d %f \\n ',\[XX(:,1),Res] ')
197 92.541636
 198 73.432513
 199 5.885468
 200 35.300393
 201 70.208100
 202 28.096191
 203 87.136298
 204 79.776499
 205 36.243011
 206 18.249808
 207 49.666520
 208 45.067095
 209 81.785392
 210 5.555862
 211 105.361366
 212 4.575460
 213 381.204021
 214 26.712747
 216 8.037618
 217 119.627795
 218 10.061485
 219 63.762947
 220 9.087658
 221 41.684105
 222 35.907417
 223 76.139589
 224 23.752550
 225 142.216169
 226 67.755801
 227 20.597788
 228 76.818771
 229 104.284923
 230 18.541601
 231 4.473983
 232 3.580878
 233 224.758597
 234 26.863645
 235 212.911324
 236 50.921549
 237 33.628254
 238 42.168327
 239 103.701129
 240 136.060809
 241 713.711764
 242 34.027235
 245 4.102289
 246 27.086730
 247 2.667541
 248 2.497556
 252 103.829221
 253 7.460715
  ...
```
* ю
```matlab
>> save res.mat Res -mat
```
* ю
```matlab
>> hist(Res,20)
>> xlabel('Results ')
>> ylabel('Number of Unis ')
```
!\[текст](Hist.jpg)
* ю
```matlab
saveas(gcf, 'Hist.jpg', 'jpg ')
```
!\[текст](assets/figure2.png)
* ю
```matlab
>> CorFin=corr(Res,XX(:,2))
CorFin = 0.8437
>> fprintf('Correlation of Results and Money = %f \\n',CorFin)
Correlation of Results and Money = 0.843710
```