Сравнить коммиты

1 Коммитов
main ... main

Автор SHA1 Сообщение Дата
eb4b78d4a5 doc: актуализировано описание работы с Git
* Убрана  синхронизация с апстримом, так как не требуется для CI,
  однако путает студентов, которые не понимают, когда её делать.

* Добавлена настройка Git, отключающая Windows credential helper.

* Добавлена настройка авторства коммитов.

* Добавлены примечания для компьютерных классов.
2026-02-18 13:48:51 +00:00
24 изменённых файлов: 28 добавлений и 1277 удалений

Просмотреть файл

@@ -2,42 +2,53 @@
[Репозиторий с методическими указаниями и заданиями.](http://uit.mpei.ru/git/main/it) [Репозиторий с методическими указаниями и заданиями.](http://uit.mpei.ru/git/main/it)
## Работа с Git
**Работы проверяются только после того, как закоммичены по правилам ниже.** **Работы проверяются только после того, как закоммичены по правилам ниже.**
## Работа с Git
[Лабораторная работа про Git второго семестра][gitlab] [Лабораторная работа про Git второго семестра][gitlab]
поможет вспомнить, как работать с Git. поможет вспомнить, как работать с Git.
[gitlab]: http://uit.mpei.ru/git/main/cs/src/branch/main/labs/lab02 [gitlab]: http://uit.mpei.ru/git/main/cs/src/branch/main/labs/lab02
1. В начале семестра 1. Один раз в начале семестра
создать на сервере копию этого репозитория («форкнуть» его), нажав *Fork*. создать на сервере копию этого репозитория («форкнуть» его), нажав *Fork*.
Получится репозиторий-форк `http://uit.mpei.ru/git/IvanovII/it-labs`, Получится репозиторий-форк `http://uit.mpei.ru/git/IvanovII/it-labs`,
где `IvanovII` — ваше имя пользователя. где `IvanovII` — ваше имя пользователя.
2. В начале каждого занятия: 2. В начале каждого занятия:
Клонировать свой форк на рабочий стол 1. Настроить Git, чтобы не было проблем с вводом пароля:
```sh
git config --global credential.helper ""
git config --global core.askpass ""
```
2. Клонировать свой форк на рабочий стол
(`IvanovII` заменить на свое имя пользователя): (`IvanovII` заменить на свое имя пользователя):
```sh ```sh
git clone http://uit.mpei.ru/git/IvanovII/it-labs.git git clone http://uit.mpei.ru/git/IvanovII/it-labs.git
``` ```
Перебазировать свой форк на исходный репозиторий ("апстрим"): Не клонируйте на диск L (students) в компьютерном классе —
не будет работать Git.
Не клонируйте в папку, в пути к которой есть русские буквы и пробелы —
не будет работать Octave.
3. Перейти в клонированную папку и настроить имя пользователя и почту,
чтобы у коммитов был правильный автор:
```sh ```sh
# Первую команду нужно запускать только один раз, cd it-labs
# иначе будет ошибка "error: remote upstream already exists". git config user.name "Иванов И. И."
git remote add upstream http://uit.mpei.ru/git/main/it-labs.git git config user.email "IvanovII@mpei.ru"
git fetch upstream
git stash push
git rebase upstream/main
git stash pop
``` ```
Перебазировать нужно, чтобы подтянуть из исходного репозитория обновления. Если вы работаете со своего компьютера, а не с лабораторного,
то все эти шаги нужно сделать один раз, а не каждое занятие.
3. После того, как отчет написан, закоммитить его как `TEMAn/report.md`. 3. После того, как отчет написан, закоммитить его как `TEMAn/report.md`.

Просмотреть файл

@@ -1,52 +0,0 @@
# Created by Octave 8.3.0, Wed Feb 11 12:24:54 2026 GMT <unknown@w10prog-66>
# name: C
# type: double_range
# base, limit, increment
4 27 1
# name: D
# type: matrix
# rows: 4
# columns: 6
4 8 12 16 20 24
5 9 13 17 21 25
6 10 14 18 22 26
7 11 15 19 23 27
# name: D1
# type: scalar
22
# name: D2
# type: matrix
# rows: 1
# columns: 3
18 22 26
# name: D3
# type: matrix
# rows: 2
# columns: 3
13 17 21
14 18 22
# name: D4
# type: matrix
# rows: 1
# columns: 5
19 20 21 22 23
# name: D5
# type: matrix
# rows: 2
# columns: 3
6 14 26
7 15 27

Просмотреть файл

@@ -1,8 +0,0 @@
warning('off','all')
C=4:27
D=reshape(C,[],6)
D1=D(3,5)
D2=D(3,4:end)
D3=D(2:3,3:5)
D4=D(16:20)
D5=D(3:4,[1,3,6])

Двоичные данные
ТЕМА1/assets/figure0.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 2.9 KiB

Двоичные данные
ТЕМА1/assets/figure1.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 53 KiB

Двоичные данные
ТЕМА1/assets/figure2.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 27 KiB

Двоичные данные
ТЕМА1/assets/figure3.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 24 KiB

Двоичные данные
ТЕМА1/assets/figure4.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 16 KiB

Двоичные данные
ТЕМА1/assets/figure5.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 48 KiB

Двоичные данные
ТЕМА1/assets/figure6.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 22 KiB

Двоичные данные
ТЕМА1/assets/figure7.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 27 KiB

Двоичные данные
ТЕМА1/assets/figure8.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 13 KiB

Просмотреть файл

@@ -1,568 +0,0 @@
# Отчет по теме 1
Мокеев Никита, А-03-24
## 1 Изучение размещения компонентов графического интерфейса и главного меню среды GNU Octave
## 2 Настройка текущего каталога
Нажал на окно рядом с *Текущая папка:* и установил путь к папке ТЕМА1:
![Скриншот выбора текущей папки](assets/figure0.png)
## 3 Настройка командного окна
Нажал на "Окно" и отметил галочками нужные закладки:
![Скриншот выбора](assets/figure1.png)
## 4 Установка путей
В главном меню нажал "Правка"+"Установить путь" и добавил пути к папкам ТЕМА1 и ТЕМА2:
![Скриншот путей](assets/figure2.png)
## 5 Изучение работы со справкой
- "Справка"+"Документация"+"На диске" -> GNU Octave Manual -> Function Index
- Команда help. Пример работы команды:
```matlab
>> help randn
'randn' is a built-in function from the file libinterp/corefcn/rand.cc
-- X = randn (N)
-- X = randn (M, N, ...)
-- X = randn ([M N ...])
-- X = randn (..., "single")
-- X = randn (..., "double")
-- V = randn ("state")
-- randn ("state", V)
-- randn ("state", "reset")
-- V = randn ("seed")
-- randn ("seed", V)
-- randn ("seed", "reset")
Return a matrix with normally distributed random elements having
zero mean and variance one.
The arguments are handled the same as the arguments for rand.
By default, randn uses the Marsaglia and Tsang "Ziggurat
technique" to transform from a uniform to a normal distribution.
The class of the value returned can be controlled by a trailing
"double" or "single" argument. These are the only valid classes.
Reference: G. Marsaglia and W.W. Tsang, Ziggurat Method for
Generating Random Variables, J. Statistical Software, vol 5, 2000,
<https://www.jstatsoft.org/v05/i08/>
See also: rand, rande, randg, randp.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and https://octave.discourse.group/c/help/
```
- Для дополнительно подгружанемых пакетов "Справка"+"Пакеты Octave"
## 6 Создание матриц и векторов
- Создал матрицу A со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами:
```matlab
>> A=randn(4,6)
A =
-8.8652e-04 -1.0071e+00 2.6421e+00 3.8636e-01 -7.3431e-01 -1.5501e+00
-4.9683e-01 1.0487e+00 1.1767e+00 1.4078e+00 5.8390e-01 -6.8323e-01
-1.3548e+00 6.6523e-01 -1.3285e-01 6.6288e-01 4.4201e-01 -1.9994e-01
-8.7788e-01 7.6938e-01 -5.0126e-01 5.2538e-01 -2.4666e-01 2.1566e-01
```
- Создал матрицу B 4 на 7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1:
```matlab
>> B=rand(4,7)
B =
0.7970 0.1010 0.7218 0.3126 0.4221 0.6251 0.7380
0.7449 0.2626 0.9508 0.9491 0.7637 0.5634 0.2042
0.1526 0.4856 0.1360 0.3862 0.6602 0.1868 0.8259
0.3730 0.9549 0.7369 0.6055 0.6335 0.9687 0.4128
```
- Создал вектор C с целыми числами от 4 до 27:
```matlab
>> C=4:27
C =
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
```
- Создал символьный вектор H:
```matlab
>> H='This is a symbols vector'
H = This is a symbols vector
```
- Создал вектор-строку L с 2 комплексными элемантами:
```matlab
>> L=[-2+23.1j,3-5.6j]
L =
-2.0000 + 23.1000i 3.0000 - 5.6000i
```
## 7 Выполнение операций
- Преобразование матрицы C в матрицу с 6 столбцами:
```matlab
>> D=reshape(C,[],6)
D =
4 8 12 16 20 24
5 9 13 17 21 25
6 10 14 18 22 26
7 11 15 19 23 27
```
- Матричное перемножение B и A с транспонированием матрицы B:
```matlab
>> E=B'*A
E =
-0.905003 0.366963 2.775023 1.653730 -0.174901 -1.694415
-1.626754 1.231418 0.032795 1.232379 0.058296 -0.227191
-1.304200 0.927556 2.638398 2.094717 -0.096503 -1.636723
-1.526554 1.403175 1.587962 2.031026 0.345964 -1.079674
-1.830334 1.302351 1.608475 2.008629 0.271495 -1.171358
-1.383938 0.830841 1.804013 1.667391 -0.286397 -1.182251
-1.583318 0.337804 1.873541 1.336895 -0.159519 -1.359576
```
- Создание матрицы путём "горизонтального" соединения матриц A и B:
```matlab
>> F=[A,B]
F =
Columns 1 through 10:
-8.8652e-04 -1.0071e+00 2.6421e+00 3.8636e-01 -7.3431e-01 -1.5501e+00 7.9703e-01 1.0102e-01 7.2181e-01 3.1263e-01
-4.9683e-01 1.0487e+00 1.1767e+00 1.4078e+00 5.8390e-01 -6.8323e-01 7.4488e-01 2.6265e-01 9.5078e-01 9.4908e-01
-1.3548e+00 6.6523e-01 -1.3285e-01 6.6288e-01 4.4201e-01 -1.9994e-01 1.5260e-01 4.8561e-01 1.3603e-01 3.8621e-01
-8.7788e-01 7.6938e-01 -5.0126e-01 5.2538e-01 -2.4666e-01 2.1566e-01 3.7305e-01 9.5489e-01 7.3688e-01 6.0547e-01
Columns 11 through 13:
4.2208e-01 6.2507e-01 7.3803e-01
7.6366e-01 5.6337e-01 2.0416e-01
6.6017e-01 1.8683e-01 8.2585e-01
6.3355e-01 9.6867e-01 4.1280e-01
```
- Поэлементное перемножение матриц А и D:
```matlab
>> G=A.*D
G =
-3.5461e-03 -8.0569e+00 3.1705e+01 6.1818e+00 -1.4686e+01 -3.7201e+01
-2.4841e+00 9.4381e+00 1.5297e+01 2.3933e+01 1.2262e+01 -1.7081e+01
-8.1286e+00 6.6523e+00 -1.8598e+00 1.1932e+01 9.7243e+00 -5.1984e+00
-6.1452e+00 8.4632e+00 -7.5188e+00 9.9823e+00 -5.6732e+00 5.8229e+00
```
- Поэлементное деление элементов матриц G на 4.5:
```matlab
>> M=G./4.5
M =
-7.8802e-04 -1.7904e+00 7.0455e+00 1.3737e+00 -3.2636e+00 -8.2670e+00
-5.5203e-01 2.0973e+00 3.3993e+00 5.3184e+00 2.7249e+00 -3.7957e+00
-1.8064e+00 1.4783e+00 -4.1330e-01 2.6515e+00 2.1610e+00 -1.1552e+00
-1.3656e+00 1.8807e+00 -1.6709e+00 2.2183e+00 -1.2607e+00 1.2940e+00
```
- Поэлементное возведение в степень элементов матрицы D:
```matlab
>> DDD=D.^3
DDD =
64 512 1728 4096 8000 13824
125 729 2197 4913 9261 15625
216 1000 2744 5832 10648 17576
343 1331 3375 6859 12167 19683
```
- Cоздание логической матрицы, совпадающей по размерам с D и с элементами по заданному условию:
```matlab
>> DL=D>=20
DL =
0 0 0 0 1 1
0 0 0 0 1 1
0 0 0 0 1 1
0 0 0 0 1 1
```
- Превращение матрицы в вектор-столбец:
```matlab
>> Dstolb=D(:)
Dstolb =
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
```
## 8 Изучение стандартных функций
**Математические функции:**
- Корень:
```matlab
>> B1=sqrt(B)
B1 =
0.8928 0.3178 0.8496 0.5591 0.6497 0.7906 0.8591
0.8631 0.5125 0.9751 0.9742 0.8739 0.7506 0.4518
0.3906 0.6969 0.3688 0.6215 0.8125 0.4322 0.9088
0.6108 0.9772 0.8584 0.7781 0.7960 0.9842 0.6425
```
- Натуральный логарифм:
```matlab
>> B2=log(B)
B2 =
-0.226865 -2.292455 -0.325995 -1.162730 -0.862562 -0.469892 -0.303766
-0.294538 -1.336935 -0.050472 -0.052261 -0.269637 -0.573819 -1.588831
-1.879965 -0.722345 -1.994860 -0.951385 -0.415259 -1.677569 -0.191340
-0.986048 -0.046156 -0.305325 -0.501751 -0.456419 -0.031827 -0.884786
```
- Синус:
```matlab
>> B3=sin(B)
B3 =
0.7153 0.1008 0.6607 0.3076 0.4097 0.5852 0.6728
0.6779 0.2596 0.8139 0.8129 0.6916 0.5340 0.2027
0.1520 0.4667 0.1356 0.3767 0.6133 0.1857 0.7351
0.3645 0.8163 0.6720 0.5691 0.5920 0.8241 0.4012
```
**Операции с матрицами:**
- Длина матрицы(количество столбцов):
```matlab
>> k=length(B1)
k = 7
```
- Размер матрицы:
```matlab
>> nm=size(B1)
nm =
4 7
```
- Количество элементов в матрице:
```matlab
>> elem=numel(B1)
elem = 28
```
- Вектор линейного интервала:
```matlab
>> NN=linspace(11.5,34.1,20)
NN =
Columns 1 through 15:
11.500 12.689 13.879 15.068 16.258 17.447 18.637 19.826 21.016 22.205 23.395 24.584 25.774 26.963 28.153
Columns 16 through 20:
29.342 30.532 31.721 32.911 34.100
```
- Матрица из единиц:
```matlab
>> FF=ones(2,4)
FF =
1 1 1 1
1 1 1 1
```
- Матрица из нулей:
```matlab
>> GG=zeros(5)
GG =
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
```
- Диагональ матрицы:
```matlab
>> B1D=diag(B1)
B1D =
0.8928
0.5125
0.3688
0.7781
```
- Диагональная матрица из вектора:
```matlab
>> DB=diag(B1D)
DB =
Diagonal Matrix
0.8928 0 0 0
0 0.5125 0 0
0 0 0.3688 0
0 0 0 0.7781
```
- Сортировка в столбцах:
```matlab
>> BS1=sort(B)
BS1 =
0.1526 0.1010 0.1360 0.3126 0.4221 0.1868 0.2042
0.3730 0.2626 0.7218 0.3862 0.6335 0.5634 0.4128
0.7449 0.4856 0.7369 0.6055 0.6602 0.6251 0.7380
0.7970 0.9549 0.9508 0.9491 0.7637 0.9687 0.8259
```
- Сортировка по 2 стобцу:
```matlab
>> BS2=sortrows(B,2)
BS2 =
0.7970 0.1010 0.7218 0.3126 0.4221 0.6251 0.7380
0.7449 0.2626 0.9508 0.9491 0.7637 0.5634 0.2042
0.1526 0.4856 0.1360 0.3862 0.6602 0.1868 0.8259
0.3730 0.9549 0.7369 0.6055 0.6335 0.9687 0.4128
```
- Сумма каждого столбца:
```matlab
>> DS1=sum(D)
DS1 =
22 38 54 70 86 102
```
- Сумма каждой строки:
```matlab
>> DS2=sum(D,2)
DS2 =
84
90
96
102
```
- Произведение по столбцам:
```matlab
>> DP1=prod(D)
DP1 =
840 7920 32760 93024 212520 421200
```
- Определитель:
```matlab
>> dt=det(A*A')
dt = 30.417
```
- Обратная матрица:
```matlab
>> dinv=inv(A*A')
dinv =
0.195493 -0.178920 0.018720 0.280781
-0.178920 0.512852 -0.507281 0.032452
0.018720 -0.507281 1.652127 -1.325540
0.280781 0.032452 -1.325540 2.074159
```
## 9 Работа с индексацией элементов матриц
- Элемент 3 строки 5 столбца:
```matlab
>> D1=D(3,5)
D1 = 22
```
- Часть строки 3 строки с 4 по последний столбцы:
```matlab
>> D2=D(3,4:end)
D2 =
18 22 26
```
- Кусок матрицы:
```matlab
>> D3=D(2:3,3:5)
D3 =
13 17 21
14 18 22
```
- Элементы с 16 по 20 место(по столбцам сверху вниз):
```matlab
>> D4=D(16:20)
D4 =
19 20 21 22 23
```
- Смешанная матрица( 3,4 строки; 1,3,6 столбцы):
```matlab
>> D5=D(3:4,[1,3,6])
D5 =
6 14 26
7 15 27
```
## 10 Управляющие конструкции
- Цикл по перечислению:
```matlab
>> Dsum=0
Dsum = 0
>> for i=1:6
Dsum=Dsum+sqrt(D(2,i))
endfor
Dsum = 2.2361
Dsum = 5.2361
Dsum = 8.8416
Dsum = 12.965
Dsum = 17.547
Dsum = 22.547
```
- Цикл пока выполняется условие:
```matlab
>> Dsum2=0;i=1
i = 1
>> while(D(i)<22)
Dsum2=Dsum2+sin(D(i))
i=i+1
endwhile
Dsum2 = -0.7568
i = 2
Dsum2 = -1.7157
i = 3
Dsum2 = -1.9951
i = 4
Dsum2 = -1.3382
i = 5
Dsum2 = -0.3488
i = 6
Dsum2 = 0.063321
i = 7
Dsum2 = -0.4807
i = 8
Dsum2 = -1.4807
i = 9
Dsum2 = -2.0173
i = 10
Dsum2 = -1.5971
i = 11
Dsum2 = -0.6065
i = 12
Dsum2 = 0.043799
i = 13
Dsum2 = -0.2441
i = 14
Dsum2 = -1.2055
i = 15
Dsum2 = -1.9565
i = 16
Dsum2 = -1.8066
i = 17
Dsum2 = -0.8937
i = 18
Dsum2 = -0.057011
i = 19
```
- Условие if:
```matlab
>> if(D(3,5)>=20)
printf('D(3,5)>=20')
else
printf('D(3,5)<20')
endif
D(3,5)>=20
```
## 11 Использование графических функций
- Функция построения графиков:
```matlab
>> graphics_toolkit('gnuplot')
>> plot(D(1,:),B([2,4],1:6))
```
![Скриншот графиков](assets/figure3.png)
- Функция расчета и построения гистограммы:
```matlab
>> graphics_toolkit('gnuplot')
>> hist(A(:),6)
```
![Скриншот гистограммы](assets/figure4.png)
- Функция pie():
```matlab
>> graphics_toolkit('gnuplot')
>> pie(C)
```
![Скриншот функции](assets/figure5.png)
- Функция bar():
```matlab
>> graphics_toolkit('gnuplot')
>> bar(C)
```
![Скриншот функции](assets/figure6.png)
## 12 Работа с текстовым редактором
Нажал «Файл»+ «Создать»+«Создать сценарий», в окно редактора перенёс команды из пункта 9, сохранил в файле Prog1.m.
![Скриншот окна редактора](assets/figure7.png)
Вывод программы:
```matlab
>> Prog1
D1 = 22
D2 =
18 22 26
D3 =
13 17 21
14 18 22
D4 =
19 20 21 22 23
D5 =
6 14 26
7 15 27
```
## 13 Сохранение и загрузка переменных
В главном меню выбрал «Файл» + «Сохранить область переменных» и сохранил содержимое области переменных в файле Perem. Вышел и запустил систему заново. Текущей папкой выбрал ТЕМА1. Выбрал «Файл» + «Загрузить область переменных» и восстановил содержимое из файла Perem.
![Скриншот области переменных](assets/figure8.png)

Просмотреть файл

@@ -1,266 +0,0 @@
# Общее контрольное задание по теме 1
Мокеев Никита, А-03-24
## Задание
- Создайте переменную ММ – матрицу 5х7 со случайными нормально распределенными элементами с математическим ожиданием 10 и стандартным отклонением 8.
- Рассчитайте среднее значение SR по всем элементам матрицы ММ.
- Замените в ММ все значения, превышающие SR+8, на значение SR+8, а значения, меньшие, чем SR-8, - на SR-8.
- Превратите ММ в вектор – столбец ММС. Упорядочьте его элементы по возрастанию. Определите значение медианы, в качестве которого возьмите серединное по порядку индексов значение в упорядоченном векторе.
- Рассчитайте матрицу ММ1 с элементами, равными натуральным логариф-мам от значений соответствующих элементов из матрицы ММ.
## Решение
```matlab
>> MM=10+8*randn(5,7)
MM =
-0.3150 18.2714 16.3823 -0.3882 7.6231 9.4711 0.3784
1.1265 11.5555 -0.9722 16.4186 2.9388 16.7871 14.8105
8.8727 1.8825 5.0660 14.5294 14.5326 5.5724 9.9409
1.0583 3.3569 13.8140 9.1158 12.5865 10.9011 4.3489
15.5769 12.6464 -6.4921 12.9410 2.3038 9.3104 2.6408
>> SR=sum(MM(:))/numel(MM)
SR = 7.9598
>> UP=SR+8
UP = 15.960
>> LOW=SR-8
LOW = -0.040190
>> MM(MM>UP)=UP;
>> LOW(MM<LOW)=LOW;
>> MM
MM =
-4.0190e-02 1.5960e+01 1.5960e+01 -4.0190e-02 7.6231e+00 9.4711e+00 3.7838e-01
1.1265e+00 1.1556e+01 -4.0190e-02 1.5960e+01 2.9388e+00 1.5960e+01 1.4810e+01
8.8727e+00 1.8825e+00 5.0660e+00 1.4529e+01 1.4533e+01 5.5724e+00 9.9409e+00
1.0583e+00 3.3569e+00 1.3814e+01 9.1158e+00 1.2587e+01 1.0901e+01 4.3489e+00
1.5577e+01 1.2646e+01 -4.0190e-02 1.2941e+01 2.3038e+00 9.3104e+00 2.6408e+00
>> MMC=MM(:)
MMC =
-4.0190e-02
1.1265e+00
8.8727e+00
1.0583e+00
1.5577e+01
1.5960e+01
1.1556e+01
1.8825e+00
3.3569e+00
1.2646e+01
1.5960e+01
-4.0190e-02
5.0660e+00
1.3814e+01
-4.0190e-02
-4.0190e-02
1.5960e+01
1.4529e+01
9.1158e+00
1.2941e+01
7.6231e+00
2.9388e+00
1.4533e+01
1.2587e+01
2.3038e+00
9.4711e+00
1.5960e+01
5.5724e+00
1.0901e+01
9.3104e+00
3.7838e-01
1.4810e+01
9.9409e+00
4.3489e+00
2.6408e+00
>> MMC1=sort(MMC)
MMC1 =
-4.0190e-02
-4.0190e-02
-4.0190e-02
-4.0190e-02
3.7838e-01
1.0583e+00
1.1265e+00
1.8825e+00
2.3038e+00
2.6408e+00
2.9388e+00
3.3569e+00
4.3489e+00
5.0660e+00
5.5724e+00
7.6231e+00
8.8727e+00
9.1158e+00
9.3104e+00
9.4711e+00
9.9409e+00
1.0901e+01
1.1556e+01
1.2587e+01
1.2646e+01
1.2941e+01
1.3814e+01
1.4529e+01
1.4533e+01
1.4810e+01
1.5577e+01
1.5960e+01
1.5960e+01
1.5960e+01
1.5960e+01
>> Med=MMC1(floor(numel(MMC1)/2)+1)
Med = 9.1158
>> MM1=log(MM)
MM1 =
Columns 1 through 4:
-3.2141 + 3.1416i 2.7701 + 0i 2.7701 + 0i -3.2141 + 3.1416i
0.1191 + 0i 2.4472 + 0i -3.2141 + 3.1416i 2.7701 + 0i
2.1830 + 0i 0.6326 + 0i 1.6226 + 0i 2.6762 + 0i
0.0567 + 0i 1.2110 + 0i 2.6257 + 0i 2.2100 + 0i
2.7458 + 0i 2.5374 + 0i -3.2141 + 3.1416i 2.5604 + 0i
Columns 5 through 7:
2.0312 + 0i 2.2482 + 0i -0.9719 + 0i
1.0780 + 0i 2.7701 + 0i 2.6953 + 0i
2.6764 + 0i 1.7178 + 0i 2.2967 + 0i
2.5326 + 0i 2.3889 + 0i 1.4699 + 0i
0.8346 + 0i 2.2311 + 0i 0.9711 + 0i
```

Двоичные данные
ТЕМА2/Hist.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 16 KiB

Двоичные данные
ТЕМА2/Hist2.jpg

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 16 KiB

Просмотреть файл

@@ -1,21 +0,0 @@
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 ');
hist(Res,20)

Просмотреть файл

@@ -1,23 +0,0 @@
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, 'Hist2.jpg ', 'jpg ');
CorFin=corr(Res,XX(:,2));
fprintf('Correlation of Results and Money = %f \n',CorFin);

Двоичные данные
ТЕМА2/assets/figure0.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.9 KiB

Двоичные данные
ТЕМА2/assets/figure1.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 15 KiB

Двоичные данные
ТЕМА2/assets/figure2.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 22 KiB

Двоичные данные
ТЕМА2/assets/figure3.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 24 KiB

Просмотреть файл

@@ -1,322 +0,0 @@
# Отчет по теме 2
Мокеев Никита, А-03-24
## 1 Настройка текущего каталога
Установил в качестве текущей папки ТЕМА2:
![Скриншот выбора текущей папки](assets/figure0.png)
## 2
Загрузка данных из текстового файла в матрицу:
```matlab
>> XX=load('dan_vuz.txt');
```
Размерность:
```matlab
>> size(XX)
ans =
&nbsp; 290 15
```
*Данные о скольких вузах России представлены в этой матрице?* - 290
Данные о показателях результативности:
```matlab
>> X=XX(:,3:13);
```
Матрица корреляций между показателями результативности:
```matlab
>> R=corr(X);
```
Метод главных компонент, получение собственных значений и собственных векторов от квадратичной формы:
```matlab
>> [vect,lambda]=eig(X'*X);
```
Извлечение диагональных элементов матрицы в вектор:
```matlab
>> Sobst=diag(lambda)
Sobst =
&nbsp; 2.2947e+01
&nbsp; 1.9317e+03
&nbsp; 2.5940e+03
&nbsp; 3.4573e+03
&nbsp; 5.6252e+03
&nbsp; 8.6721e+03
&nbsp; 1.8915e+04
&nbsp; 4.7523e+04
&nbsp; 5.7484e+04
&nbsp; 2.2565e+05
&nbsp; 7.4946e+06
```
Вывод собственных значений на экран с заголовком:
```matlab
>> fprintf('Eigenvalues:n %f n',Sobst)
Eigenvalues:
&nbsp;22.946585
Eigenvalues:
&nbsp;1931.665464
Eigenvalues:
&nbsp;2593.979592
Eigenvalues:
&nbsp;3457.339562
Eigenvalues:
&nbsp;5625.151474
Eigenvalues:
&nbsp;8672.065947
Eigenvalues:
&nbsp;18914.627989
Eigenvalues:
&nbsp;47522.678185
Eigenvalues:
&nbsp;57483.681267
Eigenvalues:
&nbsp;225653.068540
Eigenvalues:
&nbsp;7494628.795394
```
Выделения собственного наибольшего значения и вектора:
```matlab
>> SobMax=Sobst(end)
SobMax = 7.4946e+06
>> GlComp=vect(:,end)
GlComp =
&nbsp; 3.5306e-02
&nbsp; 4.6772e-02
&nbsp; 4.8953e-02
&nbsp; 6.1556e-01
&nbsp; 2.4277e-01
&nbsp; 7.3685e-01
&nbsp; 9.5893e-02
&nbsp; 1.6945e-04
&nbsp; 1.7911e-02
&nbsp; 5.9523e-02
&nbsp; 1.7425e-02
```
Доля информации в главной компоненте:
```matlab
>> Delt=100*SobMax/sum(Sobst);
>> fprintf('Delta= %d n ',round(Delt))
Delta= 95
```
Вектор оценки обобщенной результативности для каждого ВУЗа:
```matlab
>> Res=X*GlComp;
```
Вывод заголовка результатов:
```matlab
>> fprintf(' Results n ')
&nbsp;Results
```
Вывод таблицы результатов:
```matlab
>> fprintf('%d %f n ',[XX(:,1),Res] ')
```
Сохранение вектора оценок в бинарном файле:
```matlab
>> save res.mat Res -mat
```
Построение гистограммы:
```matlab
>> hist(Res,20)
```
![Скриншот гистограммы](assets/figure1.png)
Обозначение осей и повторный вывод:
```matlab
xlabel('Results ');
ylabel('Number of Unis ');
hist(Res,20)
```
![Скриншот гистограммы](assets/figure2.png)
Сохранение гистограммы:
```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
```
## 3
figure2
Prog2

Двоичные данные
ТЕМА2/res.mat

Двоичный файл не отображается.