итоговый отчет + 2 лаба

Этот коммит содержится в:
IvanovArtAl
2026-02-12 11:17:13 +03:00
родитель 8ed792632e
Коммит 48534c6349
4 изменённых файлов: 221 добавлений и 4 удалений

221
ТЕМА2/report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,221 @@
# Отчет
Иванов Артём А-03-24
## 1 Установил в качестве текущей папку TEMA2\
![Скриншот выбора текущей папки](s1.PNG)
*Прочитал данные из файла dan_vuz.txt командой
***matlab
>> 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
```
* Проверил размерность матрицы ХХ
```matlab
>> size(XX)
ans =
290 15
```
Получил данные о 15 вузах
*Выделил в отдельную матрицу данные о показателях результативности
```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
```
*Рассчитал матрицу корреляций между показателями результативности:
```matlab
>> 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
```
* Пусть для исследования результативности применяется метод главных компонент, основу которого составляет получение собственных значений и собственных векторов от квадратичной формы:
```matlab
>> [vect,lambda]=eig(X'*X)
vect =
```
*В матрице lambda собственные значения расположены в возрастающем порядке на диагонали. Выделил их в отдельный вектор:
```matlab
>> 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
```
*Представил их на экране с заголовком:
```matlab
>> 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
>> fprintf(' Results \n ')
Results
>> fprintf('%d %f \n ',[XX(:,1),Res] ')
197 92.541636
198 73.432513
199 5.885468
```
*Сохранил вектор оценок результативности в отдельном бинарном (mat) файле:
```matlab
>> save res.mat Res -mat
```
*Представил распределение оценок результативности в виде гистограммы с 20 интервалами и с обозначением осей:
```matlab
>> hist(Res,20)
>> xlabel('Results ')
>> ylabel('Number of Unis ')
```
*Сохранил изображение гистограммы в файле формата 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
```