Сравнить коммиты
20 Коммитов
| Автор | SHA1 | Дата | |
|---|---|---|---|
| c3310cf681 | |||
| ba5b3c4b1f | |||
| c717ce9d7c | |||
| 0a882ae16e | |||
| bb23662432 | |||
| 6d0213ad3a | |||
| a8713cd654 | |||
| 1bab6c177f | |||
| 233bdb55ea | |||
| 8d3c0cc2be | |||
| 7c58947cb3 | |||
| 819d5608ea | |||
| 726827521b | |||
| 0116024130 | |||
| 8adce4c392 | |||
| aaa5eb5241 | |||
| 671870544d | |||
| 52d1a07d2f | |||
| 96a36b9f8b | |||
| e45f3c7d74 |
37
README.md
@@ -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, чтобы не было проблем с вводом пароля:
|
Клонировать свой форк на рабочий стол
|
||||||
|
|
||||||
```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
|
# Первую команду нужно запускать только один раз,
|
||||||
git config user.name "Иванов И. И."
|
# иначе будет ошибка "error: remote upstream already exists".
|
||||||
git config user.email "IvanovII@mpei.ru"
|
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
|
||||||
```
|
```
|
||||||
|
|
||||||
Если вы работаете со своего компьютера, а не с лабораторного,
|
Перебазировать нужно, чтобы подтянуть из исходного репозитория обновления.
|
||||||
то все эти шаги нужно сделать один раз, а не каждое занятие.
|
|
||||||
|
|
||||||
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 запущен, произведено общее ознакомление с интерфейсом программы.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 2 Настройка текущего каталога
|
||||||
|
|
||||||
|
В качестве текущей выберем папку ТЕМА 1.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 3 Настройка рабочего пространства
|
||||||
|
|
||||||
|
Во вкладке Window активируем показ командного окна, журнала выполненных команд, диспетчера файлов, области переменных и редактора. После этого в интерфейсе среды появляются соответствующие окна.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 4 Установка пути к рабочим репозиториям.
|
||||||
|
|
||||||
|
С помощью **Set path...** установливаем путь к папкам ТЕМА1 и ТЕМА2. Включаем отображение списка файлов в текущей папке.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 5 Работа с системой помощи.
|
||||||
|
|
||||||
|
Просматриваем документацию по программе **(GNU Octave Manual)**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Просматриваем список встроенных функций **Function Index**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Используем команду **help** для получения информации по функции **randn**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```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))**:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Воспользуемся функцией расчёта и построения гистрограммы **hist()** в виде **hist(A(:),6)**. На выходе получаем гистограмму из 6 столбцов размер каждого соответствует количеству значений столбца-вектора A, попадающих в отрезок этого столбца:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Воспользуемся функцией расчёта и построения круговой диаграммы **pie()** в виде **pie(C1)**. C1 - вектор содержащий ряд из 13 последовательных чисел. На выходе получаем круговую диаграмму, где размер доли соответствует доле числа в общей сумме чисел вектора:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Воспользуемся функцией расчёта и построения гистрограммы **bar()** в виде **bar(K)**. K - вектор имеющий нормальное распределение. На выходе получаем столбчатую диаграмму, где по оси y — значение элемента, а по x — его номер:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Завершим сеанс и для нового загрузим файл 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
|
||||||
|
```
|
||||||