# Отчет по теме 1
Долганов Всеволод, А-01-24
## 1 Знакомство с интерфейсом
Запустил среду GNU Octave и визуально изучил расположение окон и главного меню.
## 2 Настройка рабочей директории
В окне «Текущая папка» установил путь к созданной директории TEMA1:

## 3 Настройка отображаемых окон
Через меню «Окно» включил отображение командного окна, журнала команд, диспетчера файлов, области переменных и редактора.

## 4 Установка путей к рабочим папкам
Через меню «Правка» -> «Установить путь» добавил пути к папкам TEMA1 и TEMA2. Убедился, что файлы отображаются в «Диспетчере файлов».

## 5 Использование встроенной справки
Изучил документацию через главное меню и проверил работу оперативной справки через командное окно:
```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,
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 ' 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.159822 0.268463 0.602706 0.712673 0.192046 0.199132
0.564368 0.064164 1.269051 0.629784 -0.246480 1.184103
1.444376 -0.867363 0.998737 0.456648 0.876060 0.226459
2.148732 2.285075 0.440337 0.502833 1.951507 -0.719981
>> B = rand(4,7)
B =
0.448006 0.444495 0.898416 0.106126 0.317332 0.488563 0.949919
0.829320 0.203251 0.670602 0.290699 0.086682 0.700506 0.486505
0.568398 0.636211 0.581117 0.403838 0.227579 0.656758 0.975163
0.941064 0.868487 0.350656 0.828308 0.075934 0.838079 0.302820
>> C = 4:27
C =
Columns 1 through 23:
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Column 24:
27
>> H = 'This is a symbols vector'
H = This is a symbols vector
>> L = [-2+23.1j, 3-5.6j]
L =
-2.0000 + 23.1000i 3.0000 - 5.6000i
```
## 7 Матричные вычисления и преобразования
```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
>> E = B'*A
E =
3.239515 1.830881 2.304531 1.574329 2.216070 0.522383
2.828742 1.565104 1.543670 1.172011 2.287484 -0.152035
1.827697 0.581458 2.127299 1.504298 1.200649 0.852098
2.510204 1.589615 1.200937 0.859622 1.918964 -0.139563
0.490076 0.066876 0.561990 0.422850 0.387136 0.162697
3.066672 1.521535 2.208404 1.510674 2.132042 0.472088
2.181931 0.132381 2.297197 1.580948 1.507771 0.768041
>> F = [A,B]
F =
Columns 1 through 10:
-0.159822 0.268463 0.602706 0.712673 0.192046 0.199132 0.448006 0.444495 0.898416 0.106126
0.564368 0.064164 1.269051 0.629784 -0.246480 1.184103 0.829320 0.203251 0.670602 0.290699
1.444376 -0.867363 0.998737 0.456648 0.876060 0.226459 0.568398 0.636211 0.581117 0.403838
2.148732 2.285075 0.440337 0.502833 1.951507 -0.719981 0.941064 0.868487 0.350656 0.828308
Columns 11 through 13:
0.317332 0.488563 0.949919
0.086682 0.700506 0.486505
0.227579 0.656758 0.975163
0.075934 0.838079 0.302820
>> G = A.*D
G =
-0.6393 2.1477 7.2325 11.4028 3.8409 4.7792
2.8218 0.5775 16.4977 10.7063 -5.1761 29.6026
8.6663 -8.6736 13.9823 8.2197 19.2733 5.8879
15.0411 25.1358 6.6051 9.5538 44.8847 -19.4395
>> M = G./4.5
M =
-0.1421 0.4773 1.6072 2.5339 0.8535 1.0620
0.6271 0.1283 3.6661 2.3792 -1.1502 6.5783
1.9258 -1.9275 3.1072 1.8266 4.2830 1.3084
3.3425 5.5857 1.4678 2.1231 9.9744 -4.3199
>> 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
>> 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
>> 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); B2 = log(B); B3 = sin(B);
B1 =
0.6693 0.6667 0.9478 0.3258 0.5633 0.6990 0.9746
0.9107 0.4508 0.8189 0.5392 0.2944 0.8370 0.6975
0.7539 0.7976 0.7623 0.6355 0.4771 0.8104 0.9875
0.9701 0.9319 0.5922 0.9101 0.2756 0.9155 0.5503
B2 =
-0.802949 -0.810817 -0.107122 -2.243128 -1.147808 -0.716287 -0.051378
-0.187149 -1.593316 -0.399580 -1.235468 -2.445513 -0.355952 -0.720508
-0.564934 -0.452224 -0.542804 -0.906742 -1.480257 -0.420440 -0.025151
-0.060744 -0.141003 -1.047948 -0.188371 -2.577887 -0.176643 -1.194617
B3 =
0.433169 0.430002 0.782341 0.105927 0.312033 0.469357 0.813369
0.737472 0.201854 0.621457 0.286622 0.086573 0.644605 0.467539
0.538282 0.594152 0.548958 0.392950 0.225620 0.610552 0.827793
0.808185 0.763352 0.343514 0.736788 0.075861 0.743360 0.298213
>> k = length(B1)
k = 7
>> nm = size(B1)
nm =
4 7
>> elem = numel(B1)
elem = 28
>> NN=linspace(11.5,34.1,20)
NN =
Columns 1 through 13:
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
Columns 14 through 20:
26.963 28.153 29.342 30.532 31.721 32.911 34.100
>> FF=ones(2,4)
FF =
1 1 1 1
1 1 1 1
>> 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
>> B1D=diag(B1)
B1D =
0.6693
0.4508
0.7623
0.9101
>> DB=diag(B1D)
DB =
Diagonal Matrix
0.6693 0 0 0
0 0.4508 0 0
0 0 0.7623 0
0 0 0 0.9101
>> BS1=sort(B)
BS1 =
0.448006 0.203251 0.350656 0.106126 0.075934 0.488563 0.302820
0.568398 0.444495 0.581117 0.290699 0.086682 0.656758 0.486505
0.829320 0.636211 0.670602 0.403838 0.227579 0.700506 0.949919
0.941064 0.868487 0.898416 0.828308 0.317332 0.838079 0.975163
>> BS2=sortrows(B,2)
BS2 =
0.829320 0.203251 0.670602 0.290699 0.086682 0.700506 0.486505
0.448006 0.444495 0.898416 0.106126 0.317332 0.488563 0.949919
0.568398 0.636211 0.581117 0.403838 0.227579 0.656758 0.975163
0.941064 0.868487 0.350656 0.828308 0.075934 0.838079 0.302820
>> DS1=sum(D)
DS1 =
22 38 54 70 86 102
>> DS2=sum(D,2)
DS2 =
84
90
96
102
>> DP1=prod(D)
DP1 =
840 7920 32760 93024 212520 421200
>> dt=det(A*A')
dt = 77.948
>> dinv=inv(A*A')
dinv =
1.997545 -0.798335 0.216077 -0.153936
-0.798335 0.703918 -0.289148 0.084105
0.216077 -0.289148 0.374075 -0.084248
-0.153936 0.084105 -0.084248 0.094346
>>
```
## 9 Индексация элементов матриц
```matlab
>> D1=D(3,5)
D1 = 22
>> D2=D(3,4:end)
D2 =
18 22 26
>> D3=D(2:3,3:5)
D3 =
13 17 21
14 18 22
>> D4=D(16:20)
D4 =
19 20 21 22 23
>> 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
>> plot(D(1,:),B([2,4],1:6))
```

```matlab
>> hist(A(:),6)
```

```matlab
>> pie(D(1,:))
```

```matlab
>> bar(DS1)
```

## 12 Изучение работы с текстовым редактором среды
```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
```
```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, перезапустил среду, установил рабочую директорию и успешно загрузил переменные обратно через главное меню
## 14 Завершили сеанс работы со средой.