ответвлено от main/it-labs
814 строки
15 KiB
Markdown
814 строки
15 KiB
Markdown
# Отчет по теме 2
|
|
|
|
|
|
|
|
Бакайкин Константин, А-03-24
|
|
|
|
|
|
|
|
## 1 Настройка текущего каталога:
|
|
|
|
|
|
|
|
Нажал на окно рядом с *Текущая папка*: и установил путь к папке ТЕМА2:
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 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 ')
|
|
|
|
|
|
|
|
```
|
|
|
|
- Сохраняем гистограмму
|
|
|
|
```matlab
|
|
saveas(gcf, 'Hist.jpg', 'jpg ')
|
|
|
|
```
|
|
|
|
- Рассчитали и отобразили оценку корелляции обобщенной результативности с финансированием
|
|
|
|
```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
|
|
|
|
```
|
|
|
|
## 3 Создание файла программы (сценария). Проверка выполнения программы. Файл Hist.jpg
|
|
|
|
- Создал файл программы Prog1.m:
|
|
|
|

|
|
|
|
- Проверил вывод сценария, выводится лишнее:
|
|
|
|

|
|
|
|
- Гистограмма:
|
|
|
|

|
|
|
|
## 4 Изменения файла с командами:
|
|
|
|
- Изменил сценарий (добавил ;), чтобы избавиться от эхо-вывода. Сценарий стал выполняться быстрее, и убрался лишний вывод
|
|
|
|

|
|
|
|
## 5 Создаем файл с выводом
|
|
|
|
- изменил код:
|
|
|
|
добавил fp=fopen('prtcl.txt ','w'); и в каждом выводе добавли fp и добавил закрытие файла fclose(fp);
|
|
|
|

|
|
|
|

|
|
|
|
## 6 Вывод в файл мин. , макс. , среднего, стандартного отклонения.
|
|
|
|
```matlab
|
|
>>MinRes = min(Res);
|
|
>>MaxRes = max(Res);
|
|
>>MeanRes = mean(Res);
|
|
>>stdRes = std(Res);
|
|
>>fprintf(fp, 'Min %f \n ',MinRes );
|
|
>>fprintf(fp,'Max %f \n ',MaxRes );
|
|
>>fprintf(fp,'Mean = %f \n ', MeanRes);
|
|
>>fprintf(fp,'Std = %f \n ', stdRes);
|
|
``` |