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);%закрытие файла