diff --git a/ТЕМА2/Hist.jpg b/ТЕМА2/Hist.jpg index dc083c7..40a22b0 100644 Binary files a/ТЕМА2/Hist.jpg and b/ТЕМА2/Hist.jpg differ diff --git a/ТЕМА2/assets/figure0.png b/ТЕМА2/assets/figure0.png new file mode 100644 index 0000000..3869759 Binary files /dev/null and b/ТЕМА2/assets/figure0.png differ diff --git a/ТЕМА2/assets/figure1.png b/ТЕМА2/assets/figure1.png new file mode 100644 index 0000000..621ae6a Binary files /dev/null and b/ТЕМА2/assets/figure1.png differ diff --git a/ТЕМА2/assets/figure2.png b/ТЕМА2/assets/figure2.png new file mode 100644 index 0000000..d5df5c5 Binary files /dev/null and b/ТЕМА2/assets/figure2.png differ diff --git a/ТЕМА2/assets/figure3.png b/ТЕМА2/assets/figure3.png new file mode 100644 index 0000000..351ee60 Binary files /dev/null and b/ТЕМА2/assets/figure3.png differ diff --git a/ТЕМА2/assets/figure4.png b/ТЕМА2/assets/figure4.png new file mode 100644 index 0000000..60a1c75 Binary files /dev/null and b/ТЕМА2/assets/figure4.png differ diff --git a/ТЕМА2/assets/figure5.png b/ТЕМА2/assets/figure5.png new file mode 100644 index 0000000..310c440 Binary files /dev/null and b/ТЕМА2/assets/figure5.png differ diff --git a/ТЕМА2/prog.m b/ТЕМА2/prog.m new file mode 100644 index 0000000..a7da0e5 --- /dev/null +++ b/ТЕМА2/prog.m @@ -0,0 +1,32 @@ +fp=fopen('prtcl.txt ','w') +XX=load('dan_vuz.txt'); +size(XX); +X=XX(:,3:13); +R=corr(X); +[vect,lambda]=eig(X'*X); +Sobst=diag(lambda); +fprintf(fp,'Eigenvalues:\n %f \n',Sobst); +fprintf('\n'); +SobMax=Sobst(end); +GlComp=vect(:,end); +Delt=100*SobMax/sum(Sobst); +fprintf('Delta= %d \n ',round(Delt)); +Res=X*GlComp; +fprintf(fp, ' Results \n '); +fprintf(fp,'%d %f \n ',[XX(:,1),Res] '); +save res.mat Res -mat; +hist(Res,20); +xlabel('Results '); +ylabel('Number of Unis '); +saveas(gcf, 'Hist.jpg ', 'jpg '); +CorFin=corr(Res,XX(:,2)); +fprintf(fp, 'Correlation of Results and Money = %f \n',CorFin'); +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); +fclose(fp); diff --git a/ТЕМА2/prtcl.txt b/ТЕМА2/prtcl.txt new file mode 100644 index 0000000..e18e21e --- /dev/null +++ b/ТЕМА2/prtcl.txt @@ -0,0 +1,319 @@ +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 + Results + 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 + 256 34.755449 + 257 4.359736 + 258 5.741187 + 259 15.989432 + 261 45.399798 + 264 2.462250 + 267 6.424390 + 268 66.503024 + 273 73.935542 + 275 11.130530 + 296 3.684256 + 304 9.970486 + 305 28.031419 + 311 1.352414 + 318 40.905330 + 322 11.722703 + 325 30.793455 + 326 42.716264 + 329 10.023429 + 330 32.260491 + 334 25.495269 + 335 36.870098 + 336 42.948416 + 339 87.963238 + 340 228.668981 + 341 99.146097 + 342 28.749899 + 343 9.622160 + 346 1.359974 + 347 54.213640 + 348 107.547742 + 349 116.106427 + 352 299.102890 + 356 14.333164 + 357 20.479493 + 362 144.908794 + 365 14.952535 + 366 25.976099 + 371 268.149429 + 372 12.353605 + 373 4.526119 + 376 104.664655 + 377 91.264814 + 379 209.329940 + 381 196.452926 + 383 4.812125 + 387 1.387719 + 388 50.732954 + 389 118.633179 + 391 212.528679 + 392 37.744725 + 393 30.102473 + 394 320.669960 + 395 0.000000 + 399 41.450044 + 410 141.123026 + 412 405.347359 + 413 12.875247 + 414 117.612150 + 441 8.989886 + 446 74.655250 + 448 89.566395 + 451 37.992598 + 456 40.599701 + 465 37.339465 + 466 142.928780 + 467 9.122607 + 472 53.463843 + 476 93.289532 + 477 57.155319 + 484 19.139209 + 1001 5.491474 + 1002 85.213352 + 1004 170.642969 + 1017 90.453986 + 1030 57.810669 + 1034 7.372961 + 1035 9.614944 + 1037 1.846687 + 1038 17.646937 + 1039 153.910670 + 1041 119.835954 + 1044 5.010210 + 1 2.691959 + 2 379.300890 + 3 13.497203 + 4 2.462250 + 6 19.718182 + 7 200.667783 + 8 93.618235 + 9 25.650544 + 10 26.344823 + 11 65.285854 + 12 21.514761 + 13 176.510003 + 14 1898.884523 + 15 91.241365 + 16 304.552394 + 17 6.355976 + 18 3.439437 + 19 158.859588 + 20 187.802059 + 21 26.561371 + 22 8.657907 + 23 110.316703 + 26 21.286647 + 28 8.028500 + 29 76.976887 + 33 148.320170 + 34 97.178361 + 35 6.713123 + 36 88.631285 + 37 333.404629 + 38 27.838269 + 40 11.662869 + 41 0.000000 + 42 71.250154 + 43 0.369757 + 44 10.360736 + 45 3.855089 + 51 81.568715 + 52 54.636552 + 53 23.501931 + 54 90.446620 + 55 57.162095 + 56 162.850196 + 57 305.874565 + 58 6.323299 + 59 59.415851 + 60 46.966205 + 62 56.660855 + 63 815.675312 + 64 47.723188 + 65 277.021471 + 66 328.086215 + 67 113.590454 + 68 11.709047 + 69 33.969900 + 71 0.913379 + 72 122.671912 + 73 59.978744 + 74 7.491057 + 75 12.504248 + 76 24.208529 + 77 400.110964 + 78 263.576362 + 79 25.930889 + 80 36.895259 + 81 254.783774 + 82 6.870138 + 84 12.625935 + 85 23.783568 + 86 3.159890 + 87 5.151827 + 88 0.000000 + 89 106.765711 + 90 15.783445 + 91 30.701284 + 92 64.989933 + 93 43.087958 + 94 31.124285 + 95 5.171761 + 96 48.085148 + 97 5.347890 + 99 2.124571 + 100 0.082078 + 101 21.635603 + 102 52.057076 + 103 25.625192 + 104 9.750228 + 105 36.202865 + 107 4.626653 + 108 3.190574 + 109 9.578291 + 110 6.374896 + 111 3.684453 + 112 5.784829 + 113 8.236760 + 114 6.872598 + 115 41.304826 + 116 1.988474 + 118 7.571316 + 119 1.231125 + 120 5.081094 + 121 21.547440 + 122 30.299927 + 123 45.503740 + 124 9.093912 + 132 10.369658 + 133 7.125935 + 134 14.133228 + 135 26.102416 + 136 5.071976 + 137 12.085286 + 138 0.713469 + 139 0.675086 + 140 4.092547 + 141 7.454102 + 142 184.663991 + 143 10.455368 + 144 7.448129 + 146 6.242521 + 147 8.860180 + 148 39.991951 + 149 6.891026 + 150 5.160709 + 151 15.489599 + 152 5.590467 + 153 27.378151 + 154 10.801195 + 162 23.750968 + 166 11.426264 + 167 8.473236 + 168 6.898371 + 170 3.416283 + 171 208.746883 + 172 12.158394 + 173 3.563165 + 174 4.158866 + 175 0.000000 + 176 1.847873 + 177 8.478820 + 178 1.277897 + 179 0.035306 + 180 0.070611 + 181 0.035306 + 182 3.039279 + 183 0.000000 + 184 4.205715 + 185 30.094936 + 186 20.128055 + 187 5.773718 + 188 31.539990 + 189 147.387148 + 190 18.314164 + 191 32.846011 + 192 14.511067 + 193 19.235467 + 194 0.000000 + Correlation of Results and Money = 0.843710 +Min 0.000000 + Max 1898.884523 + Mean = 67.928804 + Std = 145.954386 + \ No newline at end of file diff --git a/ТЕМА2/report.md b/ТЕМА2/report.md index cb1c80e..02cd7f7 100644 --- a/ТЕМА2/report.md +++ b/ТЕМА2/report.md @@ -4,11 +4,13 @@ ## 1 Установил в качестве текущей папку TEMA2\ -![Скриншот выбора текущей папки](s1.PNG) +![Скриншот выбора текущей папки](assets/figure0.png) -*Прочитал данные из файла dan_vuz.txt командой +##2 Работа с файлом -***matlab +-Прочитал данные из файла dan_vuz.txt командой + +```matlab >> XX=load('dan_vuz.txt') XX = @@ -29,7 +31,7 @@ XX = ``` -* Проверил размерность матрицы ХХ +- Проверил размерность матрицы ХХ ```matlab @@ -40,7 +42,7 @@ ans = ``` Получил данные о 15 вузах -*Выделил в отдельную матрицу данные о показателях результативности +-Выделил в отдельную матрицу данные о показателях результативности ```matlab >> X=XX(:,3:13) @@ -60,7 +62,7 @@ X = 9 5 6 24 8 36 5 0 1 4 14 ``` -*Рассчитал матрицу корреляций между показателями результативности: +-Рассчитал матрицу корреляций между показателями результативности: ```matlab >> R=corr(X) @@ -94,14 +96,14 @@ R = 5.6462e-02 6.2616e-01 1.0000e+00 3.8799e-01 1.3662e-01 4.5537e-01 3.8799e-01 1.0000e+00 ``` -* Пусть для исследования результативности применяется метод главных компонент, основу которого составляет получение собственных значений и собственных векторов от квадратичной формы: +- Пусть для исследования результативности применяется метод главных компонент, основу которого составляет получение собственных значений и собственных векторов от квадратичной формы: ```matlab ->> [vect,lambda]=eig(X'*X) +>> [vect,lambda]=eig(X'-X) vect = ``` -*В матрице lambda собственные значения расположены в возрастающем порядке на диагонали. Выделил их в отдельный вектор: +-В матрице lambda собственные значения расположены в возрастающем порядке на диагонали. Выделил их в отдельный вектор: ```matlab >> Sobst=diag(lambda) @@ -119,7 +121,7 @@ Sobst = 2.2565e+05 7.4946e+06 ``` -*Представил их на экране с заголовком: +-Представил их на экране с заголовком: ```matlab >> fprintf('Eigenvalues:\n %f \n',Sobst) @@ -148,7 +150,7 @@ Eigenvalues: >> fprintf('\n') ``` -*Выделил наибольшее собственное значение и соответствующий ему собственный вектор: +-Выделил наибольшее собственное значение и соответствующий ему собственный вектор: ```matlab >> SobMax=Sobst(end) @@ -169,18 +171,18 @@ GlComp = 1.7425e-02 ``` -*Рассчитал долю информации о результативности НИР, содержащуюся в главной компоненте и отобразил ее на экране: +-Рассчитал долю информации о результативности НИР, содержащуюся в главной компоненте и отобразил ее на экране: ```matlab ->> Delt=100*SobMax/sum(Sobst) +>> Delt=100-SobMax/sum(Sobst) Delt = 95.273 >> fprintf('Delta= %d \n ',round(Delt)) Delta= 95 ``` -*С использованием главной компоненты рассчитал оценки обобщенной результативности в каждом из представленных в матрице вузов и отобразил ее с указанием кода вуза: +-С использованием главной компоненты рассчитал оценки обобщенной результативности в каждом из представленных в матрице вузов и отобразил ее с указанием кода вуза: ```matlab ->> Res=X*GlComp +>> Res=X-GlComp Res = 9.2542e+01 @@ -194,28 +196,72 @@ Res = 199 5.885468 ``` -*Сохранил вектор оценок результативности в отдельном бинарном (mat) файле: +-Сохранил вектор оценок результативности в отдельном бинарном (mat) файле: ```matlab >> save res.mat Res -mat ``` -*Представил распределение оценок результативности в виде гистограммы с 20 интервалами и с обозначением осей: +-Представил распределение оценок результативности в виде гистограммы с 20 интервалами и с обозначением осей: ```matlab >> hist(Res,20) >> xlabel('Results ') >> ylabel('Number of Unis ') ``` -*Сохранил изображение гистограммы в файле формата jpg +-Сохранил изображение гистограммы в файле формата jpg ```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: + +![Скриншот программы](assets/figure1.png) + +- Проверил вывод сценария, выводится лишнее: + +![Скриншот вывода](figure2.png) + +- Гистограмма: + +![Скриншот гистограммы](Hist.jpg) + +## 4 Изменения файла с командами: + +- Изменил сценарий (добавил ;), чтобы избавиться от эхо-вывода. Сценарий стал выполняться быстрее. + +![Скриншот с выводом, сценарием](assets/figure3.png) + +## 5 Создаем файл с выводом + +- изменил код: + +добавил fp=fopen('prtcl.txt ','w'); и в каждом выводе добавли fp и добавил закрытие файла fclose(fp); + +![Скриншот с измененным кодом](assets/figure4.png) + +![Скриншот с выводом в файл](assets/figure5.png) + +## 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); +``` + + diff --git a/ТЕМА2/res.mat b/ТЕМА2/res.mat index e61ea1e..4b3afe8 100644 Binary files a/ТЕМА2/res.mat and b/ТЕМА2/res.mat differ