Этот коммит содержится в:
Пользователь № 7 аудитории Ж-202
2026-02-12 12:10:49 +03:00
родитель 1a7a0ecd0b
Коммит c593ee9895
4 изменённых файлов: 392 добавлений и 0 удалений

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

@@ -0,0 +1,23 @@
fp=fopen('prtcl_task.txt ','w');%открытие файла
XX=load('dan_vuz.txt');%считывание данных
size(XX);%размер матрицы
X=XX(:,14:15);%создание новой матрицы по заданным параметрам
[vect, lambda] = eig(X' * X);%расчет собственных векторов и собственных значений матрицы X'*X
Sobst = diag(lambda);%извлечение собственных значений из диагональной матрицы lambda в вектор
SobMax=Sobst(end);%выделение наибольшего собственного значения (последний элемент вектора)
GlComp=vect(:,end);%выделение соответствующего наибольшему собственному значению собственного вектора (главной компоненты)
Delt=100*SobMax/sum(Sobst);%расчет доли информации, содержащейся в главной компоненте
fprintf(fp,'Delta= %d \n ',round(Delt));%запись значения доли информации в файл
Res=X*GlComp;%расчет оценок результативности для каждого вуза
fprintf(fp, '%d %f\n', [XX(:,1)'; Res']);%запись в файл кодов вузов и соответствующих им оценок результативности
save res_task.mat Res -mat;%сохранение вектора оценок результативности в бинарный файл
CorFin=corr(Res,XX(:,2));%расчет коэффициента корреляции
fprintf(fp,'Correlation of Results and Money = %f \n', CorFin);% Запись значения корреляции в файл
X2 = XX(:, 3:13);%создание новой матрицы по заданным параметрам
[vect2, lambda2] = eig(X2' * X2);%расчет собственных векторов и собственных значений матрицы X2'*X2
Sobst2 = diag(lambda2);%извлечение собственных значений из диагональной матрицы lambda2 в вектор
GlComp2 = vect2(:, end);%выделение соответствующего наибольшему собственному значению собственного вектора (главной компоненты2)
Res2 = X2 * GlComp2;%расчет оценок результативности для каждого вуза
CorFin2 = corr(Res2, Res);%расчет коэффициента корреляции
fprintf(fp, 'Correlation of Results and Staff = %f\n', CorFin2);% Запись в файл корреляции между результативностью и кадровым обеспечением
fclose(fp);%закрытие файла