code: обновление файла report и загрузка изображений
Этот коммит содержится в:
212
ТЕМА1/report.md
212
ТЕМА1/report.md
@@ -20,7 +20,7 @@ GUI GNU Octave запущен, произведено общее ознаком
|
||||
|
||||

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

|
||||
|
||||
|
||||
## 5 Изучаем работу с системой помощи
|
||||
## 5 Работа с системой помощи.
|
||||
|
||||
Просматриваем документацию по программе *(GNU Octave Manual)*.
|
||||
|
||||
@@ -42,7 +42,7 @@ GUI GNU Octave запущен, произведено общее ознаком
|
||||
|
||||

|
||||
|
||||
```text
|
||||
```matlab
|
||||
help randn
|
||||
'randn' is a built-in function from the file libinterp/corefcn/rand.cc
|
||||
|
||||
@@ -83,7 +83,9 @@ at https://www.octave.org and https://octave.discourse.group/c/help/
|
||||
```
|
||||
|
||||
|
||||
## 6 Изучаем способы задания матриц и векторов
|
||||
## 6 Способы задания матриц и векторов.
|
||||
|
||||
Создание нормально распределённой матрицы:
|
||||
|
||||
```matlab
|
||||
>> A=randn(4,6)
|
||||
@@ -95,6 +97,8 @@ at https://www.octave.org and https://octave.discourse.group/c/help/
|
||||
-0.148194 -0.678435 -1.008628 1.425202 0.760093 -2.166047
|
||||
```
|
||||
|
||||
Создание равномерно распределённой матрицы:
|
||||
|
||||
```matlab
|
||||
>> B=rand(4,7)
|
||||
B =
|
||||
@@ -105,6 +109,8 @@ B =
|
||||
0.719244 0.753689 0.380854 0.641714 0.662913 0.353391 0.594957
|
||||
```
|
||||
|
||||
Создание вектора:
|
||||
|
||||
```matlab
|
||||
>>C=4:27
|
||||
C =
|
||||
@@ -118,11 +124,15 @@ C =
|
||||
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 =
|
||||
@@ -130,8 +140,11 @@ L =
|
||||
-2.0000 + 23.1000i 3.0000 - 5.6000i
|
||||
```
|
||||
|
||||
NOMER 7
|
||||
## 7 Базовые операции с матрицами.
|
||||
|
||||
Формирование матрицы из вектора C. Количество строк – результат деления длины вектора на заданное количество столбцов матрицы.
|
||||
|
||||
```matlab
|
||||
>> D=reshape(C,[],6)
|
||||
D =
|
||||
|
||||
@@ -139,7 +152,11 @@ D =
|
||||
5 9 13 17 21 25
|
||||
6 10 14 18 22 26
|
||||
7 11 15 19 23 27
|
||||
```
|
||||
|
||||
Умножение транспонированной матрицы на матрицу:
|
||||
|
||||
```matlab
|
||||
>> E=B'*A
|
||||
E =
|
||||
|
||||
@@ -150,7 +167,11 @@ E =
|
||||
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 =
|
||||
|
||||
@@ -167,7 +188,11 @@ F =
|
||||
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 =
|
||||
|
||||
@@ -175,7 +200,11 @@ G =
|
||||
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 =
|
||||
|
||||
@@ -183,14 +212,11 @@ M =
|
||||
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
|
||||
>> 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 =
|
||||
|
||||
@@ -198,7 +224,11 @@ DDD =
|
||||
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 =
|
||||
|
||||
@@ -206,7 +236,11 @@ DL =
|
||||
0 0 0 0 1 1
|
||||
0 0 0 0 1 1
|
||||
0 0 0 0 1 1
|
||||
```
|
||||
|
||||
Преобразование матрицы в столбец:
|
||||
|
||||
```matlab
|
||||
>> Dstolb=D(:)
|
||||
Dstolb =
|
||||
|
||||
@@ -234,9 +268,13 @@ Dstolb =
|
||||
25
|
||||
26
|
||||
27
|
||||
```
|
||||
|
||||
NOMER 8
|
||||
## 8 Примеры использования стандартных математических функций.
|
||||
|
||||
Поэлементное взятие корня:
|
||||
|
||||
```matlab
|
||||
>> B1=sqrt(B)
|
||||
B1 =
|
||||
|
||||
@@ -253,7 +291,11 @@ B1 =
|
||||
0.7319 0.8421
|
||||
0.4902 0.8154
|
||||
0.6863 0.9037
|
||||
```
|
||||
|
||||
Поэлементное взятие логорифма:
|
||||
|
||||
```matlab
|
||||
>> B2=log(B)
|
||||
B2 =
|
||||
|
||||
@@ -270,7 +312,11 @@ B2 =
|
||||
-0.388422 -0.624192 -0.343782
|
||||
-0.067292 -1.425857 -0.408188
|
||||
-0.388948 -0.752859 -0.202503
|
||||
```
|
||||
|
||||
Поэлементное взятие синуса:
|
||||
|
||||
```matlab
|
||||
>> B3=sin(B)
|
||||
B3 =
|
||||
|
||||
@@ -287,18 +333,34 @@ B3 =
|
||||
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 =
|
||||
|
||||
@@ -313,13 +375,21 @@ NN =
|
||||
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 =
|
||||
|
||||
@@ -328,7 +398,11 @@ GG =
|
||||
0 0 0 0 0
|
||||
0 0 0 0 0
|
||||
0 0 0 0 0
|
||||
```
|
||||
|
||||
Формирование столбца из значений диагонали матрицы:
|
||||
|
||||
```matlab
|
||||
>> B1D=diag(B1)
|
||||
B1D =
|
||||
|
||||
@@ -336,7 +410,11 @@ B1D =
|
||||
0.3068
|
||||
0.8781
|
||||
0.7271
|
||||
```
|
||||
|
||||
Формирование матрицы с указанной в векторе диагональю:
|
||||
|
||||
```matlab
|
||||
>> DB=diag(B1D)
|
||||
DB =
|
||||
|
||||
@@ -346,7 +424,11 @@ Diagonal Matrix
|
||||
0 0.3068 0 0
|
||||
0 0 0.8781 0
|
||||
0 0 0 0.7271
|
||||
```
|
||||
|
||||
Сортировка матрицы по столбцам:
|
||||
|
||||
```matlab
|
||||
>> BS1=sort(B)
|
||||
BS1 =
|
||||
|
||||
@@ -354,7 +436,11 @@ BS1 =
|
||||
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 =
|
||||
|
||||
@@ -362,12 +448,20 @@ BS2 =
|
||||
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 =
|
||||
|
||||
@@ -375,14 +469,27 @@ DS2 =
|
||||
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 =
|
||||
|
||||
@@ -390,24 +497,81 @@ dinv =
|
||||
0.025819 0.053005 -0.044695 0.025517
|
||||
-0.305610 -0.044695 0.432459 -0.163317
|
||||
0.189828 0.025517 -0.163317 0.317169
|
||||
```
|
||||
|
||||
NOMER 9
|
||||
## 9 Работа с индексацией.
|
||||
|
||||
Извлечение элемента из 3 строки 5 столбца:
|
||||
|
||||
```matlab
|
||||
>> D1=D(3,5)
|
||||
D1 = 22
|
||||
```
|
||||
|
||||
Извлечение элементов из 3 строки 4, 5 и 6 столбцов:
|
||||
|
||||
>> 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
|
||||
@@ -453,8 +617,26 @@ i = 18
|
||||
Dsum2 = -0.057011
|
||||
i = 19
|
||||
D(3,5)>=20
|
||||
```
|
||||
# 11 Создание графических функций.
|
||||
|
||||
NOMER10
|
||||
Воспользуемся функцией построения графиков *plot()* в виде *plot(D(1,:),B([2,4],1:6))*:
|
||||
|
||||

|
||||
|
||||
Воспользуемся функцией расчёта и построена гистрограммы *hist()* в виде *hist(A(:),6)*:
|
||||
|
||||

|
||||
|
||||
Воспользуемся функцией расчёта и построена гистрограммы *pie()* в виде *pie(C1)*:
|
||||
|
||||

|
||||
|
||||
Воспользуемся функцией расчёта и построена гистрограммы *bar()* в виде *bar(A(:),6)*:
|
||||
|
||||

|
||||
|
||||
# 11 Создание графических функций.
|
||||
|
||||
D1 = 22
|
||||
D2 =
|
||||
|
||||
Ссылка в новой задаче
Block a user