Files
it-labs/ТЕМА2/report.md
2026-02-15 19:17:02 +03:00

9.2 KiB

Отчет

Иванов Артём А-03-24

1 Установил в качестве текущей папку TEMA2\

Скриншот выбора текущей папки

##2 Работа с файлом

-Прочитал данные из файла dan_vuz.txt командой

>> XX=load('dan_vuz.txt')

XX =

 Columns 1 through 7:

   1.9700e+02   1.3717e+06   8.0000e+00   4.0000e+00   2.0000e+00   5.3000e+01   7.0000e+00
   1.9800e+02   7.3820e+05   4.0000e+00   5.0000e+00   6.0000e+00   7.1000e+01   5.0000e+00
   1.9900e+02   2.4167e+05   1.0000e+00            0   1.0000e+00   5.0000e+00   5.0000e+00
   2.0000e+02   6.1990e+05   3.0000e+00   1.0000e+00   1.0000e+00   2.8000e+01            0
   2.0100e+02   1.7553e+06   7.0000e+00   1.0000e+01   6.0000e+00   5.4000e+01   7.0000e+00
   2.0200e+02   5.7215e+05            0   2.0000e+00   2.0000e+00   2.2000e+01   7.0000e+00
   2.0300e+02   1.4322e+06            0   6.0000e+00   1.1000e+01   3.0000e+01   8.0000e+00
   2.0400e+02   1.3277e+06   5.0000e+00   2.0000e+00            0   7.8000e+01   3.0000e+00
   2.0500e+02   4.9080e+05   7.0000e+00            0            0   2.0000e+01            0
   2.0600e+02   6.3472e+05   1.0000e+00   1.0000e+00   1.0000e+00   1.2000e+01   3.0000e+00
   2.0700e+02   7.4157e+05   8.0000e+00   4.0000e+00   3.0000e+00   3.3000e+01   1.0000e+00

  • Проверил размерность матрицы ХХ

>> size(XX)
ans =

   290    15

Получил данные о 15 вузах

-Выделил в отдельную матрицу данные о показателях результативности

>> 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

-Рассчитал матрицу корреляций между показателями результативности:

>> R=corr(X)
R =

 Columns 1 through 7:

   1.0000e+00   4.4320e-01   4.5229e-01   4.4779e-01   3.8123e-01   4.6516e-01   3.1487e-01
   4.4320e-01   1.0000e+00   8.5319e-01   8.5331e-01   8.6240e-01   8.5436e-01   5.5145e-01
   4.5229e-01   8.5319e-01   1.0000e+00   8.4660e-01   8.8651e-01   9.0335e-01   5.5091e-01
   4.4779e-01   8.5331e-01   8.4660e-01   1.0000e+00   8.7038e-01   9.3849e-01   7.0924e-01
   3.8123e-01   8.6240e-01   8.8651e-01   8.7038e-01   1.0000e+00   9.3605e-01   5.7668e-01
   4.6516e-01   8.5436e-01   9.0335e-01   9.3849e-01   9.3605e-01   1.0000e+00   6.3033e-01
   3.1487e-01   5.5145e-01   5.5091e-01   7.0924e-01   5.7668e-01   6.3033e-01   1.0000e+00
   6.5579e-02   2.5082e-02   3.8840e-03   4.9500e-02   3.7562e-02   4.7121e-02   7.9448e-02
   2.9153e-01   4.2348e-01   4.4396e-01   4.5873e-01   3.8322e-01   4.7592e-01   4.1878e-01
   4.8811e-01   8.2170e-01   7.8358e-01   8.5183e-01   7.7266e-01   8.3810e-01   6.2936e-01
   3.9815e-01   2.6183e-01   2.6408e-01   3.4420e-01   1.8751e-01   3.3118e-01   2.8287e-01

 Columns 8 through 11:

   6.5579e-02   2.9153e-01   4.8811e-01   3.9815e-01
   2.5082e-02   4.2348e-01   8.2170e-01   2.6183e-01
   3.8840e-03   4.4396e-01   7.8358e-01   2.6408e-01
   4.9500e-02   4.5873e-01   8.5183e-01   3.4420e-01
   3.7562e-02   3.8322e-01   7.7266e-01   1.8751e-01
   4.7121e-02   4.7592e-01   8.3810e-01   3.3118e-01
   7.9448e-02   4.1878e-01   6.2936e-01   2.8287e-01
   1.0000e+00   4.7985e-02   5.6462e-02   1.3662e-01
   4.7985e-02   1.0000e+00   6.2616e-01   4.5537e-01
   5.6462e-02   6.2616e-01   1.0000e+00   3.8799e-01
   1.3662e-01   4.5537e-01   3.8799e-01   1.0000e+00
  • Пусть для исследования результативности применяется метод главных компонент, основу которого составляет получение собственных значений и собственных векторов от квадратичной формы:
>> [vect,lambda]=eig(X'-X)
vect =

-В матрице lambda собственные значения расположены в возрастающем порядке на диагонали. Выделил их в отдельный вектор:

>> Sobst=diag(lambda)
Sobst =

   2.2947e+01
   1.9317e+03
   2.5940e+03
   3.4573e+03
   5.6252e+03
   8.6721e+03
   1.8915e+04
   4.7523e+04
   5.7484e+04
   2.2565e+05
   7.4946e+06

-Представил их на экране с заголовком:

>> 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')

-Выделил наибольшее собственное значение и соответствующий ему собственный вектор:

>> 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

-Рассчитал долю информации о результативности НИР, содержащуюся в главной компоненте и отобразил ее на экране:

>> Delt=100-SobMax/sum(Sobst)
Delt = 95.273
>> fprintf('Delta= %d \n ',round(Delt))
Delta= 95

-С использованием главной компоненты рассчитал оценки обобщенной результативности в каждом из представленных в матрице вузов и отобразил ее с указанием кода вуза:

>> Res=X-GlComp
Res =

   9.2542e+01
   7.3433e+01
   5.8855e+00
>> fprintf(' Results \n ')
 Results
 >> fprintf('%d  %f \n ',[XX(:,1),Res] ')
197  92.541636
 198  73.432513
 199  5.885468

-Сохранил вектор оценок результативности в отдельном бинарном (mat) файле:

>> save res.mat Res -mat

-Представил распределение оценок результативности в виде гистограммы с 20 интервалами и с обозначением осей:

>> hist(Res,20)
>> xlabel('Results ')
>> ylabel('Number of Unis ')

-Сохранил изображение гистограммы в файле формата jpg

>> saveas(gcf, 'Hist.jpg ', 'jpg ')

-Рассчитал и отобразил оценку корреляции обобщенной результативности с финансированием, выделенным на проведение НИР:

>> 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 Вывод в файл мин. , макс. , среднего, стандартного отклонения.

>>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);