diff --git a/ТЕМА2/Hist.jpg b/ТЕМА2/Hist.jpg new file mode 100644 index 0000000..634defc Binary files /dev/null and b/ТЕМА2/Hist.jpg differ diff --git a/ТЕМА2/Progl.m b/ТЕМА2/Progl.m new file mode 100644 index 0000000..be959c6 --- /dev/null +++ b/ТЕМА2/Progl.m @@ -0,0 +1,22 @@ +XX=load('dan_vuz.txt') +size(XX) +X=XX(:,3:13) +R = corr(X) +[vect,lambda]=eig(X'*X) +Sobst=diag(lambda) +fprintf('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('Results\n') +fprintf('%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('Correlation of Results and Money = %f\n', CorFin) diff --git a/ТЕМА2/report2.md b/ТЕМА2/report2.md index e69de29..1d86cf7 100644 --- a/ТЕМА2/report2.md +++ b/ТЕМА2/report2.md @@ -0,0 +1,364 @@ +## 2 + +*Проверьте размерность матрицы ХХ:* +```matlab +>> size(XX) +ans = + + 290 15 +``` +*Данные о скольких вузах России представлены в этой матрице?* + +*Выделите в отдельную матрицу данные о показателях результативности:* +```matlab + 2 10 7 26 2 11 2 0 0 7 1 + 1 0 0 1 0 6 0 0 0 0 0 + 0 0 0 10 0 8 0 0 0 0 2 + 0 0 2 1 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 1 0 + 1 0 0 3 0 3 0 0 0 0 0 + 1 4 0 11 0 0 4 0 0 1 1 + 21 9 12 189 6 84 28 0 0 9 0 + 2 0 0 8 1 7 0 0 0 1 0 + 0 0 0 7 0 4 2 0 0 0 0 + 0 3 0 9 0 0 4 0 0 3 0 + 2 0 0 7 0 6 0 0 0 1 0 + 0 4 1 47 29 4 5 0 0 6 0 + 1 0 0 6 0 4 1 0 0 2 0 + 0 3 0 8 0 0 1 0 0 0 0 + 2 0 0 8 0 14 0 0 0 3 0 + 0 0 0 3 0 5 0 0 0 1 0 + 0 1 5 39 2 3 4 0 0 0 0 + 0 0 1 17 0 0 3 0 0 0 0 + 3 1 0 19 0 15 7 0 0 3 0 + 1 0 0 18 0 0 2 0 0 2 0 + 0 1 0 13 0 0 3 0 0 2 1 + 1 5 4 9 0 0 6 0 0 3 8 + 0 0 0 3 0 2 1 0 0 0 0 + 9 11 2 161 9 139 34 0 0 13 4 + 0 2 3 8 3 8 2 0 0 3 0 + 0 0 0 3 1 2 0 0 0 0 0 + 5 1 0 0 0 5 2 0 0 1 0 + 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 2 2 0 1 0 0 0 0 + 2 4 2 8 0 4 2 0 0 1 0 + 0 1 0 2 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 + 2 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 + 0 1 0 2 0 2 3 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 5 1 0 7 0 0 3 0 + 0 6 7 45 0 2 0 0 0 5 0 + 0 2 0 11 0 18 0 0 0 0 0 + 0 0 0 3 1 5 0 0 0 0 0 + 8 4 0 24 5 20 0 0 1 2 12 + 1 13 7 134 23 76 15 0 0 15 0 + 2 2 1 14 2 12 1 0 0 1 0 + 1 7 2 26 3 21 0 0 0 3 0 + 1 1 1 10 0 11 0 0 0 2 0 + 1 2 6 19 2 9 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 +``` + +*Рассчитайте матрицу корреляций между показателями результативности:* +```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 = + 1.7002e-03 -4.2581e-01 3.3001e-01 2.8074e-01 -3.9004e-01 6.2610e-01 -2.7487e-01 + 7.7010e-03 -1.2368e-01 1.7350e-01 -2.2481e-01 8.4320e-01 3.2876e-01 -2.2260e-01 + + Columns 8 through 11: + + 1.8078e-02 -2.0942e-01 4.4068e-02 3.5306e-02 + -2.6535e-02 7.3599e-02 6.2111e-03 4.6772e-02 + -3.7697e-03 2.9602e-02 -4.1502e-02 4.8953e-02 + -2.5705e-01 1.7315e-01 7.2027e-01 6.1556e-01 + 9.3732e-02 8.4203e-01 -3.7246e-01 2.4277e-01 + 5.5571e-02 -4.0806e-01 -5.1787e-01 7.3685e-01 + 9.5701e-01 5.2365e-03 2.5496e-01 9.5893e-02 + 1.4645e-03 -1.0271e-03 5.5851e-04 1.6945e-04 + 5.8771e-02 -9.1452e-02 2.0459e-02 1.7911e-02 + 3.6416e-02 -5.9676e-02 5.3342e-02 5.9523e-02 + 1.8627e-02 -1.7997e-01 4.8313e-02 1.7425e-02 + +lambda = + +Diagonal Matrix + + Columns 1 through 7: + + 2.2947e+01 0 0 0 0 0 0 + 0 1.9317e+03 0 0 0 0 0 + 0 0 2.5940e+03 0 0 0 0 + 0 0 0 3.4573e+03 0 0 0 + 0 0 0 0 5.6252e+03 0 0 + 0 0 0 0 0 8.6721e+03 0 + 0 0 0 0 0 0 1.8915e+04 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + + Columns 8 through 11: + + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 4.7523e+04 0 0 0 + 0 5.7484e+04 0 0 + 0 0 2.2565e+05 0 + 0 0 0 7.4946e+06 + +``` +*Выделите их в отдельный вектор:* +```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 +``` +```matlab +>> 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 = + 2.6102e+01 + 5.0720e+00 + 1.2085e+01 + 7.1347e-01 + 6.7509e-01 + 4.0925e+00 + 7.4541e+00 + 1.8466e+02 + 1.0455e+01 + 7.4481e+00 + 6.2425e+00 + 8.8602e+00 + 3.9992e+01 + 6.8910e+00 + 5.1607e+00 + 1.5490e+01 + 5.5905e+00 + 2.7378e+01 + 1.0801e+01 + 2.3751e+01 + 1.1426e+01 + 8.4732e+00 + 6.8984e+00 + 3.4163e+00 + 2.0875e+02 + 1.2158e+01 + 3.5632e+00 + 4.1589e+00 + 0 + 1.8479e+00 + 8.4788e+00 + 1.2779e+00 + 3.5306e-02 + 7.0611e-02 + 3.5306e-02 + 3.0393e+00 + 0 + 4.2057e+00 + 3.0095e+01 + 2.0128e+01 + 5.7737e+00 + 3.1540e+01 + 1.4739e+02 + 1.8314e+01 + 3.2846e+01 + 1.4511e+01 + 1.9235e+01 + 0 + +``` +```matlab +>> fprintf('Results\n') +Results +``` +```matlab +>> fprintf('%d %f \n', [XX(:, 1), Res]') +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 +``` + +*Сохраните вектор оценок результативности в отдельном бинарном (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 +``` +```matlab +>> fprintf('Correlation of Results and Money = %f\n', CorFin) +Correlation of Results and Money = 0.843710 +>> +``` \ No newline at end of file diff --git a/ТЕМА2/res.mat b/ТЕМА2/res.mat new file mode 100644 index 0000000..8ce7fd2 Binary files /dev/null and b/ТЕМА2/res.mat differ