ответвлено от main/it-labs
523 строки
13 KiB
Markdown
523 строки
13 KiB
Markdown
# Отчёт по теме 1
|
|
|
|
Латышев Герман, А-03-24
|
|
|
|
## 1 Изучение среды GNU Octave
|
|
|
|
## 2 Настройка текущего каталога
|
|
|
|
Нажал на окно рядом с **Текущая папка:** и установил путь к папке ТЕМА1:
|
|
|
|

|
|
|
|
## 3 Настройка отображения окон
|
|
|
|
## 4 Установка путей к папкам ТЕМА1 и ТЕМА2
|
|
|
|
Добавил пути к папкам **ТЕМА1** и **ТЕМА2**
|
|
|
|
Проверил список файлов в текущей папке
|
|
|
|

|
|
|
|
## 5 Работа с системой помощи
|
|
|
|
Открыл обширное англоязычное описание методики работы со средой
|
|
|
|

|
|
|
|
Применил способ получения справок с помощью команды **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")
|
|
```
|
|
|
|
Воспользовался функцией из дополнительно загружаемых пакетов
|
|
|
|

|
|
|
|
## 6 Создание нескольких матриц с помощью различных команд
|
|
|
|
Матрица А со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами
|
|
|
|
```matlab
|
|
>> A=randn(4,6)
|
|
A =
|
|
|
|
-0.737272 0.612528 -1.024760 -0.481634 0.229665 1.197123
|
|
-1.502819 -0.179056 1.459476 -0.470790 0.300122 0.020587
|
|
0.345345 2.078780 -1.079867 -0.704489 1.252897 0.841148
|
|
0.553064 0.851616 -0.768269 1.228038 -0.726337 -0.294298
|
|
```
|
|
|
|
Матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1
|
|
|
|
```matlab
|
|
>> B=rand(4,7)
|
|
B =
|
|
|
|
0.591052 0.095643 0.911809 0.394246 0.221930 0.719075 0.824591
|
|
0.942754 0.399137 0.849660 0.237451 0.687453 0.827892 0.189113
|
|
0.941095 0.341196 0.281087 0.177957 0.271788 0.637949 0.856088
|
|
0.300132 0.879681 0.582801 0.533300 0.633886 0.015839 0.275049
|
|
```
|
|
|
|
Вектор С с целыми числами от 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
|
|
```
|
|
|
|
Символьный вектор Н
|
|
|
|
```matlab
|
|
>> H = "This is a symbols vector"
|
|
H = This is a symbols vector
|
|
```
|
|
|
|
Вектор-строка L с 2 комплексными элементами
|
|
|
|
```matlab
|
|
L =
|
|
|
|
-2.0000 + 23.1000i 3.0000 - 5.6000i
|
|
```
|
|
|
|
## 7 Выполнение операций с матрицами
|
|
|
|
Преобразование матрицы С в матрицу с 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
|
|
```
|
|
|
|
Матричное перемножение В и А с транспонированием матрицы В (число столбцов в В должно совпадать с числом строк в А)
|
|
|
|
```matlab
|
|
>> E = B'*A
|
|
E =
|
|
|
|
-1.3616e+00 2.4052e+00 -4.7660e-01 -1.0229e+00 1.3798e+00 1.4302e+00
|
|
-6.5995e-02 1.4455e+00 -5.5976e-01 6.0594e-01 -6.9706e-02 1.5082e-01
|
|
-1.5297e+00 1.4870e+00 -4.4561e-01 -3.2149e-01 3.9327e-01 1.1740e+00
|
|
-2.9111e-01 1.0231e+00 -6.5934e-01 2.2787e-01 -2.5858e-03 4.6959e-01
|
|
-7.5230e-01 1.1177e+00 -4.5935e-03 1.5643e-01 1.3740e-01 3.2189e-01
|
|
-1.5453e+00 1.6319e+00 -2.2966e-01 -1.1661e+00 1.2014e+00 1.4098e+00
|
|
-4.4439e-01 2.4851e+00 -1.7048e+00 -7.5152e-01 1.1189e+00 1.6302e+00
|
|
```
|
|
|
|
Создание матрицы путем «горизонтального» соединения матриц А и В (числа строк у соединяемых матриц должны совпадать)
|
|
|
|
```matlab
|
|
>> F = [A,B]
|
|
F =
|
|
|
|
Columns 1 through 12:
|
|
|
|
-0.737272 0.612528 -1.024760 -0.481634 0.229665 1.197123 0.591052 0.095643 0.911809 0.394246 0.221930 0.719075
|
|
-1.502819 -0.179056 1.459476 -0.470790 0.300122 0.020587 0.942754 0.399137 0.849660 0.237451 0.687453 0.827892
|
|
0.345345 2.078780 -1.079867 -0.704489 1.252897 0.841148 0.941095 0.341196 0.281087 0.177957 0.271788 0.637949
|
|
0.553064 0.851616 -0.768269 1.228038 -0.726337 -0.294298 0.300132 0.879681 0.582801 0.533300 0.633886 0.015839
|
|
|
|
Column 13:
|
|
|
|
0.824591
|
|
0.189113
|
|
0.856088
|
|
0.275049
|
|
```
|
|
|
|
Поэлементное перемножение матриц A и D (размеры матриц должны совпадать)
|
|
|
|
```matlab
|
|
>> G = A.*D
|
|
G =
|
|
|
|
-2.9491 4.9002 -12.2971 -7.7061 4.5933 28.7309
|
|
-7.5141 -1.6115 18.9732 -8.0034 6.3026 0.5147
|
|
2.0721 20.7878 -15.1181 -12.6808 27.5637 21.8699
|
|
3.8714 9.3678 -11.5240 23.3327 -16.7058 -7.9460
|
|
```
|
|
|
|
Поэлементное деление элементов матрицы G на 4.5
|
|
|
|
```matlab
|
|
>> M = G./4.5
|
|
M =
|
|
|
|
-0.6554 1.0889 -2.7327 -1.7125 1.0207 6.3847
|
|
-1.6698 -0.3581 4.2163 -1.7785 1.4006 0.1144
|
|
0.4605 4.6195 -3.3596 -2.8180 6.1253 4.8600
|
|
0.8603 2.0817 -2.5609 5.1851 -3.7124 -1.7658
|
|
```
|
|
|
|
Поэлементное возведение в степень элементов матрицы 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
|
|
```
|
|
|
|
## 8 Изучение математических функций и операций с матрицами
|
|
|
|
Математические функции:
|
|
|
|
```matlab
|
|
>> B1=sqrt(B)
|
|
B1 =
|
|
|
|
0.7688 0.3093 0.9549 0.6279 0.4711 0.8480 0.9081
|
|
0.9710 0.6318 0.9218 0.4873 0.8291 0.9099 0.4349
|
|
0.9701 0.5841 0.5302 0.4218 0.5213 0.7987 0.9253
|
|
0.5478 0.9379 0.7634 0.7303 0.7962 0.1259 0.5245
|
|
|
|
>> B2=log(B)
|
|
B2 =
|
|
|
|
-0.525851 -2.347137 -0.092325 -0.930781 -1.505391 -0.329790 -0.192867
|
|
-0.058950 -0.918451 -0.162919 -1.437794 -0.374762 -0.188873 -1.665412
|
|
-0.060711 -1.075298 -1.269092 -1.726215 -1.302733 -0.449496 -0.155382
|
|
-1.203532 -0.128196 -0.539910 -0.628671 -0.455887 -4.145287 -1.290805
|
|
|
|
>> B3=sin(B)
|
|
B3 =
|
|
|
|
0.557235 0.095497 0.790613 0.384112 0.220113 0.658689 0.734270
|
|
0.809179 0.388623 0.751056 0.235226 0.634571 0.736507 0.187988
|
|
0.808204 0.334615 0.277400 0.177019 0.268454 0.595549 0.755285
|
|
0.295647 0.770536 0.550364 0.508378 0.592280 0.015838 0.271594
|
|
```
|
|
|
|
Операции с матрицами:
|
|
|
|
```matlab
|
|
>> 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 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
|
|
|
|
>> 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.7688
|
|
0.6318
|
|
0.5302
|
|
0.7303
|
|
|
|
>> DB=diag(B1D)
|
|
DB =
|
|
|
|
Diagonal Matrix
|
|
|
|
0.7688 0 0 0
|
|
0 0.6318 0 0
|
|
0 0 0.5302 0
|
|
0 0 0 0.7303
|
|
|
|
>> BS1=sort(B)
|
|
BS1 =
|
|
|
|
0.300132 0.095643 0.281087 0.177957 0.221930 0.015839 0.189113
|
|
0.591052 0.341196 0.582801 0.237451 0.271788 0.637949 0.275049
|
|
0.941095 0.399137 0.849660 0.394246 0.633886 0.719075 0.824591
|
|
0.942754 0.879681 0.911809 0.533300 0.687453 0.827892 0.856088
|
|
|
|
>> BS2=sortrows(B,2)
|
|
BS2 =
|
|
|
|
0.591052 0.095643 0.911809 0.394246 0.221930 0.719075 0.824591
|
|
0.941095 0.341196 0.281087 0.177957 0.271788 0.637949 0.856088
|
|
0.942754 0.399137 0.849660 0.237451 0.687453 0.827892 0.189113
|
|
0.300132 0.879681 0.582801 0.533300 0.633886 0.015839 0.275049
|
|
|
|
>> 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 = 135.51
|
|
>> dinv=inv(A*A')
|
|
dinv =
|
|
|
|
5.2600e-01 -4.3199e-02 -2.4925e-01 4.7028e-02
|
|
-4.3199e-02 4.3540e-01 8.0641e-02 3.1915e-01
|
|
-2.4925e-01 8.0641e-02 2.4811e-01 -2.2361e-03
|
|
4.7028e-02 3.1915e-01 -2.2361e-03 5.1804e-01
|
|
```
|
|
|
|
## 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
|
|
D(3,5)>=20
|
|
```
|
|
|
|
## 11 Использвание графических функций для построения различных графиков
|
|
|
|
Функция посторения графиков:
|
|
|
|
```matlab
|
|
>> plot(D(1,:),B([2,4],1:6))
|
|
```
|
|
|
|

|
|
|
|
Функция расчета и посторения гистограммы:
|
|
|
|
```matlab
|
|
>> hist(A(:),6)
|
|
```
|
|
|
|

|
|
|
|
Функция расчета и посторения круговой диаграммы:
|
|
|
|
```matlab
|
|
>> pie(C)
|
|
```
|
|
|
|

|
|
|
|
Функция расчета и посторения диаграммы столбцов:
|
|
|
|
```matlab
|
|
>> bar(C)
|
|
```
|
|
|
|

|
|
|
|
## 12 Работа с текстовым редактором среды
|
|
|
|
Создал сценарий **Prog1.m**
|
|
|
|

|
|
|
|
Запустил программу из открытого файла на выполнение
|
|
|
|
```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
|
|
```
|
|
|
|
Запустил программу на выполнение вводом имени файла **Prog1** в командной строке
|
|
|
|

|
|
|
|
## 13 Сохранение и загрузка области переменных
|
|
|
|
Создал файл "Perem"
|
|
|
|
Сохранил и загрузил область переменных
|
|
|
|
 |