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

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

Автор SHA1 Сообщение Дата
c3310cf681 Загрузил(а) файлы в 'ТЕМА1/assets' 2026-02-12 08:35:35 +00:00
ba5b3c4b1f Изменил(а) на 'ТЕМА1/report.md' 2026-02-12 08:31:27 +00:00
c717ce9d7c code: доработки отчёта 2026-02-12 08:31:06 +00:00
0a882ae16e code: исправлены task и report 2026-02-11 22:23:31 +03:00
bb23662432 code: создан файл task 2026-02-11 22:14:12 +03:00
6d0213ad3a code: создан файл task 2026-02-11 22:12:19 +03:00
a8713cd654 Исправления разметки 2026-02-11 19:08:10 +00:00
1bab6c177f Merge yu
branch 'main' of http://uit.mpei.ru/git/KomarovYegA/it-labs
2026-02-11 22:04:08 +03:00
233bdb55ea code: переименованы изображения 2026-02-11 22:03:23 +03:00
8d3c0cc2be code: изменены названия изображений 2026-02-11 19:02:20 +00:00
7c58947cb3 code: обновление файла report и загрузка изображений 2026-02-11 21:55:33 +03:00
819d5608ea code: обновление файла report и загрузка изображений 2026-02-11 21:51:02 +03:00
726827521b code: обновление файла report и загрузка изображений 2026-02-11 21:47:36 +03:00
0116024130 code: обновление файла report и загрузка изображений 2026-02-11 21:00:47 +03:00
8adce4c392 code: обновление файла report и загрузка изображений 2026-02-11 20:52:35 +03:00
aaa5eb5241 code: обновление файла report и загрузка изображений 2026-02-11 18:53:11 +03:00
671870544d code: проверка изображения в md файле 2026-02-11 18:22:49 +03:00
52d1a07d2f code: проверка изображения в md файле 2026-02-11 18:20:03 +03:00
96a36b9f8b code: проверка изображения в md файле 2026-02-11 18:17:09 +03:00
e45f3c7d74 Создан файл отчёта по теме 1 2026-02-11 10:13:42 +03:00
19 изменённых файлов: 963 добавлений и 28 удалений

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

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

84
ТЕМА1/Perem Обычный файл
Просмотреть файл

@@ -0,0 +1,84 @@
# Created by Octave 10.3.0, Wed Feb 11 12:15:38 2026 UTC <unknown@DESKTOP-ASTD85S>
# name: A
# type: matrix
# rows: 4
# columns: 6
-1.7549911675895713 -1.7725607154862144 -0.57197510173811239 -0.26855120247317654 0.45491148295236561 -0.97483029037396507
0.7777993370195011 0.40622017361997736 0.73535182341744376 -0.80512489740458204 -0.28952150313756031 -1.2910248665920119
-0.98604600885713711 1.4298737189540942 0.63240303807671738 -0.11228509046586291 -0.71981072117965295 -0.43988606819521336
0.98041385926725155 -1.4805122774066495 -1.9652977233316609 0.77279406267017203 -0.52765554023833805 1.9755999681945642
# name: B
# type: matrix
# rows: 4
# columns: 6
-0.65508737872360034 1.947077913226696 -0.68027980227068008 0.59710172772741688 -0.76404722087385546 -2.2243206101015942
1.3337803628155518 -1.2640262691986839 -0.47249826053252691 0.042139071305758127 -0.093218821432076118 0.28293326757154952
0.99446413299255665 0.28502515211958501 -1.9163100445944554 0.47244242950878185 -0.57428695111364425 1.2912864726146456
2.2693759023507343 -1.6099420499047956 -0.6045558619634267 0.23003805298133698 -1.1459587107073901 -0.45960485383679223
# name: C
# type: double_range
# base, limit, increment
2 14 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
# name: J
# type: double_range
# base, limit, increment
4 27 1
# name: N
# type: double_range
# base, limit, increment
1 28 1

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

@@ -0,0 +1,5 @@
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/ph1.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph10.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph11.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph12.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph15.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph2.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph3.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph4.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph5.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph55.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph6.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph7.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph8.png Обычный файл

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

После

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

Двоичные данные
ТЕМА1/assets/ph9.png Обычный файл

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

После

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

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

@@ -0,0 +1,676 @@
# Отчет по теме 1
Комаров Егор, А-03-24
## 1 Изучение среды GNU Octave
GUI GNU Octave запущен, произведено общее ознакомление с интерфейсом программы.
![Скриншот](assets/ph1.png)
## 2 Настройка текущего каталога
В качестве текущей выберем папку ТЕМА 1.
![Скриншот](assets/ph2.png)
## 3 Настройка рабочего пространства
Во вкладке Window активируем показ командного окна, журнала выполненных команд, диспетчера файлов, области переменных и редактора. После этого в интерфейсе среды появляются соответствующие окна.
![Скриншот](assets/ph3.png)
## 4 Установка пути к рабочим репозиториям.
С помощью **Set path...** установливаем путь к папкам ТЕМА1 и ТЕМА2. Включаем отображение списка файлов в текущей папке.
![Скриншот](assets/ph4.png)
## 5 Работа с системой помощи.
Просматриваем документацию по программе **(GNU Octave Manual)**.
![Скриншот](assets/ph5.png)
Просматриваем список встроенных функций **Function Index**.
![Скриншот](assets/ph6.png)
Используем команду **help** для получения информации по функции **randn**.
![Скриншот](assets/ph7.png)
```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/
```
## 6 Способы задания матриц и векторов.
Создание нормально распределённой матрицы:
```matlab
>> A=randn(4,6)
A =
-0.487249 1.500163 -0.058514 0.447870 -0.831425 0.230160
0.042227 0.690096 -0.052365 1.305950 -0.379213 -0.269474
0.654921 0.941014 0.093497 0.561096 0.212812 -0.410104
-0.148194 -0.678435 -1.008628 1.425202 0.760093 -2.166047
```
Создание равномерно распределённой матрицы:
```matlab
>> B=rand(4,7)
B =
0.345536 0.704204 0.316431 0.818448 0.340374 0.749643 0.774945
0.126996 0.730145 0.664247 0.153328 0.237525 0.663924 0.288564
0.019296 0.989218 0.222881 0.216879 0.223590 0.603890 0.498865
0.719244 0.753689 0.380854 0.641714 0.662913 0.353391 0.594957
```
Создание вектора:
```matlab
>>C=4:27
C =
Columns 1 through 19:
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Columns 20 through 24:
23 24 25 26 27
```
Задание текста (символьного вектора):
```matlab
>> H='This is a symbols vector'
H = This is a symbols vector
```
Задание вектора с комплексными числами:
```matlab
>> L=[-2+23.1j, 3-5.6j]
L =
-2.0000 + 23.1000i 3.0000 - 5.6000i
```
## 7 Базовые операции с матрицами.
Формирование матрицы из вектора C. Количество строк – результат деления длины вектора на заданное количество столбцов матрицы.
```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
```
Умножение транспонированной матрицы на матрицу:
```matlab
>> E=B'*A
E =
0.488550 0.011549 1.000897 2.699564 -0.504726 1.819611
-0.151361 0.254209 0.624697 1.512441 0.183915 0.725667
0.072425 0.313477 1.110223 2.959277 0.309335 1.753866
0.333663 0.135882 1.735861 4.354475 -0.273429 1.707147
0.038203 0.340325 1.835803 4.116933 -1.331504 2.154751
-0.258805 0.328323 0.793725 1.274550 -1.792678 1.396500
-0.015348 0.371355 1.553848 3.350191 -1.666793 2.328455
```
Горизонтальная конкатенация матриц:
```matlab
>> F=[A,B]
F =
Columns 1 through 8:
1.148943 -0.660449 0.505361 2.144800 0.874353 -0.061676 0.831759 0.168296
0.073393 -0.083308 1.300502 1.839412 -3.915271 0.771531 0.413143 0.094149
-0.439376 0.422486 0.877189 2.021633 0.628780 0.429597 0.288750 0.547413
-0.485810 0.620539 -0.275356 -0.561242 0.267499 1.872348 0.762738 0.228719
Columns 9 through 13:
0.632518 0.858376 0.634046 0.031583 0.540918
0.232844 0.454478 0.678126 0.535694 0.709084
0.770984 0.976534 0.934923 0.240303 0.664854
0.684711 0.528709 0.677770 0.471018 0.816684
```
Поэлементное умножение:
```matlab
>> G=A.*D
G =
4.5958 -5.2836 6.0643 34.3168 17.4871 -1.4802
0.3670 -0.7498 16.9065 31.2700 -82.2207 19.2883
-2.6363 4.2249 12.2806 36.3894 13.8332 11.1695
-3.4007 6.8259 -4.1303 -10.6636 6.1525 50.5534
```
Поэлементное деление:
```matlab
M=G./4.5
M =
1.0213e+00 -1.1741e+00 1.3476e+00 7.6260e+00 3.8860e+00 -3.2894e-01
8.1547e-02 -1.6662e-01 3.7570e+00 6.9489e+00 -1.8271e+01 4.2863e+00
-5.8583e-01 9.3886e-01 2.7290e+00 8.0865e+00 3.0740e+00 2.4821e+00
-7.5570e-01 1.5169e+00 -9.1785e-01 -2.3697e+00 1.3672e+00 1.1234e+01
```
Поэлементное возведение в степень:
```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
```
Поэлементное сравнение. Формирование логической матрицы: элементы <20 соответствуют 0, а >=20 соответствуют 1:
```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 =
Columns 1 through 5:
0.9120 0.4102 0.7953 0.9265 0.7963
0.6428 0.3068 0.4825 0.6742 0.8235
0.5374 0.7399 0.8781 0.9882 0.9669
0.8733 0.4782 0.8275 0.7271 0.8233
Columns 6 and 7:
0.1777 0.7355
0.7319 0.8421
0.4902 0.8154
0.6863 0.9037
```
Поэлементное взятие логорифма:
```matlab
>> B2=log(B)
B2 =
Columns 1 through 4:
-0.184212 -1.782031 -0.458047 -0.152714
-0.883960 -2.362875 -1.457387 -0.788605
-1.242194 -0.602552 -0.260088 -0.023746
-0.270841 -1.475262 -0.378758 -0.637316
Columns 5 through 7:
-0.455633 -3.455126 -0.614488
-0.388422 -0.624192 -0.343782
-0.067292 -1.425857 -0.408188
-0.388948 -0.752859 -0.202503
```
Поэлементное взятие синуса:
```matlab
>> B3=sin(B)
B3 =
Columns 1 through 4:
0.739117 0.167503 0.591177 0.756782
0.401490 0.094010 0.230746 0.438994
0.284754 0.520480 0.696841 0.828562
0.690903 0.226730 0.632450 0.504419
Columns 5 through 7:
0.592410 0.031578 0.514923
0.627335 0.510438 0.651139
0.804553 0.237996 0.616944
0.627057 0.453794 0.728880
```
Количество столбцов матрицы:
```matlab
>> k=length(B1)
k = 7
```
Количество строк и столбцов матрицы:
```matlab
>> nm=size(B1)
nm =
4 7
```
Количество элементов матрицы:
```matlab
>> elem=numel(B1)
elem = 28
```
Генерация вектора из 20 линейно расположенных точек между указанными значениями:
```matlab
>> NN=linspace(11.5,34.1,20)
NN =
Columns 1 through 8:
11.500 12.689 13.879 15.068 16.258 17.447 18.637 19.826
Columns 9 through 16:
21.016 22.205 23.395 24.584 25.774 26.963 28.153 29.342
Columns 17 through 20:
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.9120
0.3068
0.8781
0.7271
```
Формирование матрицы с указанной в векторе диагональю:
```matlab
>> DB=diag(B1D)
DB =
Diagonal Matrix
0.9120 0 0 0
0 0.3068 0 0
0 0 0.8781 0
0 0 0 0.7271
```
Сортировка матрицы по столбцам:
```matlab
>> BS1=sort(B)
BS1 =
0.288750 0.094149 0.232844 0.454478 0.634046 0.031583 0.540918
0.413143 0.168296 0.632518 0.528709 0.677770 0.240303 0.664854
0.762738 0.228719 0.684711 0.858376 0.678126 0.471018 0.709084
0.831759 0.547413 0.770984 0.976534 0.934923 0.535694 0.816684
```
Сортировка матрицы по строкам:
```matlab
>> BS2=sortrows(B,2)
BS2 =
0.413143 0.094149 0.232844 0.454478 0.678126 0.535694 0.709084
0.831759 0.168296 0.632518 0.858376 0.634046 0.031583 0.540918
0.762738 0.228719 0.684711 0.528709 0.677770 0.471018 0.816684
0.288750 0.547413 0.770984 0.976534 0.934923 0.240303 0.664854
```
Суммирование матрицы по столбцам:
```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 = 1388.8
```
Обратная матрица произведения матрицы и транспонированной матрицы:
```matlab
>> dinv=inv(A*A')
dinv =
0.374568 0.025819 -0.305610 0.189828
0.025819 0.053005 -0.044695 0.025517
-0.305610 -0.044695 0.432459 -0.163317
0.189828 0.025517 -0.163317 0.317169
```
## 9 Работа с индексацией.
Извлечение элемента из 3 строки 5 столбца:
```matlab
>> D1=D(3,5)
D1 = 22
```
Извлечение элементов из 3 строки 4, 5 и 6 столбцов:
```matlab
>> D2=D(3,4:end)
D2 =
18 22 26
```
Извлечение элементов из 2 и 3 строк 3, 4 и 5 столбцов:
```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 Создание запуск базовой программы на m-языке.
Программный код:
```matlab
- цикл по перечислению
Dsum=0
for i=1:6
Dsum=Dsum+sqrt(D(2,i))
endfor
- цикл пока выполняется условие
Dsum2=0;i=1
while (D(i)<22)
Dsum2=Dsum2+sin(D(i))
i=i+1
endwhile
- условие if
if (D(3,5)>=20)
printf('D(3,5)>=20')
else
printf('D(3,5)<20')
endif
```
Результат работы программы:
```matlab
Dsum = 0
Dsum = 2.2361
Dsum = 5.2361
Dsum = 8.8416
Dsum = 12.965
Dsum = 17.547
Dsum = 22.547
i = 1
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
D(3,5)>=20
```
## 11 Создание графических функций.
Воспользуемся функцией построения графиков **plot()** в виде **plot(D(1,:),B([2,4],1:6))**:
![Скриншот](assets/ph8.png)
Воспользуемся функцией расчёта и построения гистрограммы **hist()** в виде **hist(A(:),6)**. На выходе получаем гистограмму из 6 столбцов размер каждого соответствует количеству значений столбца-вектора A, попадающих в отрезок этого столбца:
![Скриншот](assets/ph9.png)
Воспользуемся функцией расчёта и построения круговой диаграммы **pie()** в виде **pie(C1)**. C1 - вектор содержащий ряд из 13 последовательных чисел. На выходе получаем круговую диаграмму, где размер доли соответствует доле числа в общей сумме чисел вектора:
![Скриншот](assets/ph10.png)
Воспользуемся функцией расчёта и построения гистрограммы **bar()** в виде **bar(K)**. K - вектор имеющий нормальное распределение. На выходе получаем столбчатую диаграмму, где по оси y — значение элемента, а по x — его номер:
![Скриншот](assets/ph11.png)
## 12 Использование текстового редактора среды.
Создадим новый сценарий и запустим с его помощью команды пункта 9. Скрипт сохраним под названием Prog1.
Запустим скрипт через командную строку, введя название файла:
```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.
![Скриншот](assets/ph15.png)
Завершим сеанс и для нового загрузим файл Perem.
## 14 Окончание работы.
Закроем приложение GUI GNU Octave.

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

@@ -0,0 +1,181 @@
# Контрольное задание по теме 1.
Комаров Егор, А-03-24
## Задание 1:
Создайте переменную ММ – матрицу 5х7 со случайными нормально распределенными элементами с математическим ожиданием 10 и стандартным отклонением 8.
## Решение:
```matlab
>> MM=randn(5,7)*8+10
MM =
28.1527 13.4458 10.9555 7.6667 12.6378 9.2147 9.8023
16.6164 11.8658 5.7105 -1.6662 0.9891 7.4128 12.2133
29.7457 23.3815 7.9986 11.5438 4.6299 20.8105 0.8708
13.6755 8.2890 24.7054 11.2460 16.5975 1.2757 8.0440
9.6014 20.2747 11.7695 13.9071 13.0849 -0.4976 9.4186
```
## Задание 2:
Рассчитайте среднее значение SR по всем элементам матрицы ММ.
## Решение:
```matlab
>> SR = sum(sum(MM))/numel(MM)
SR = 11.583
```
## Задание 3:
Замените в ММ все значения, превышающие SR+8, на значение SR+8, а значения, меньшие, чем SR-8, - на SR-8.
## Решение:
```matlab
>> MM(MM<SR-8)=SR-8
MM =
28.1527 13.4458 10.9555 7.6667 12.6378 9.2147 9.8023
16.6164 11.8658 5.7105 3.5826 3.5826 7.4128 12.2133
29.7457 23.3815 7.9986 11.5438 4.6299 20.8105 3.5826
13.6755 8.2890 24.7054 11.2460 16.5975 3.5826 8.0440
9.6014 20.2747 11.7695 13.9071 13.0849 3.5826 9.4186
>> MM(MM>SR+8)=SR+8
MM =
19.5826 13.4458 10.9555 7.6667 12.6378 9.2147 9.8023
16.6164 11.8658 5.7105 3.5826 3.5826 7.4128 12.2133
19.5826 19.5826 7.9986 11.5438 4.6299 19.5826 3.5826
13.6755 8.2890 19.5826 11.2460 16.5975 3.5826 8.0440
9.6014 19.5826 11.7695 13.9071 13.0849 3.5826 9.4186
```
## Задание 4.1:
Превратите ММ в вектор – столбец ММС.
## Решение:
```matlab
>> MMC=MM(:)
MMC =
19.5826
16.6164
19.5826
13.6755
9.6014
13.4458
11.8658
19.5826
8.2890
19.5826
10.9555
5.7105
7.9986
19.5826
11.7695
7.6667
3.5826
11.5438
11.2460
13.9071
12.6378
3.5826
4.6299
16.5975
13.0849
9.2147
7.4128
19.5826
3.5826
3.5826
9.8023
12.2133
3.5826
8.0440
9.4186
```
## Задание 4.2:
Упорядочьте его элементы по возрастанию.
## Решение:
```matlab
>> MMC=sort(MMC)
MMC =
3.5826
3.5826
3.5826
3.5826
3.5826
4.6299
5.7105
7.4128
7.6667
7.9986
8.0440
8.2890
9.2147
9.4186
9.6014
9.8023
10.9555
11.2460
11.5438
11.7695
11.8658
12.2133
12.6378
13.0849
13.4458
13.6755
13.9071
16.5975
16.6164
19.5826
19.5826
19.5826
19.5826
19.5826
19.5826
```
## Задание 4.3:
Определите значение медианы, в качестве которого возьмите серединное по порядку индексов значение в упорядоченном векторе.
## Решение:
```matlab
>> MED=(MMC(17)+MMC(18))/2
MED = 11.101
>> MED=(MMC(17)+MMC(18))/2
MED = 11.101
```
## Задание 5:
Рассчитайте матрицу ММ1 с элементами, равными натуральным логарифмам от значений соответствующих элементов из матрицы ММ.
## Решение:
```matlab
>> MM1 = log(MM)
MM1 =
2.9746 2.5987 2.3938 2.0369 2.5367 2.2208 2.2826
2.8104 2.4737 1.7423 1.2761 1.2761 2.0032 2.5025
2.9746 2.9746 2.0793 2.4461 1.5325 2.9746 1.2761
2.6156 2.1149 2.9746 2.4200 2.8093 1.2761 2.0849
2.2619 2.9746 2.4655 2.6324 2.5715 1.2761 2.2427
```