code: обновление файла report и загрузка изображений

Этот коммит содержится в:
2026-02-11 20:52:35 +03:00
родитель aaa5eb5241
Коммит 8adce4c392

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

@@ -20,7 +20,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png) ![Скриншот](figure0.png)
## 4 Устанавливаем путь к рабочим репозиториям ## 4 Установка пути к рабочим репозиториям.
С помощью *Set path...* установливаем путь к папкам ТЕМА1 и ТЕМА2. Включаем отображение списка файлов в текущей папке. С помощью *Set path...* установливаем путь к папкам ТЕМА1 и ТЕМА2. Включаем отображение списка файлов в текущей папке.
@@ -28,7 +28,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png) ![Скриншот](figure0.png)
## 5 Изучаем работу с системой помощи ## 5 Работа с системой помощи.
Просматриваем документацию по программе *(GNU Octave Manual)*. Просматриваем документацию по программе *(GNU Octave Manual)*.
@@ -42,7 +42,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png) ![Скриншот](figure0.png)
```text ```matlab
help randn help randn
'randn' is a built-in function from the file libinterp/corefcn/rand.cc '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 ```matlab
>> A=randn(4,6) >> 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 -0.148194 -0.678435 -1.008628 1.425202 0.760093 -2.166047
``` ```
Создание равномерно распределённой матрицы:
```matlab ```matlab
>> B=rand(4,7) >> B=rand(4,7)
B = B =
@@ -105,6 +109,8 @@ B =
0.719244 0.753689 0.380854 0.641714 0.662913 0.353391 0.594957 0.719244 0.753689 0.380854 0.641714 0.662913 0.353391 0.594957
``` ```
Создание вектора:
```matlab ```matlab
>>C=4:27 >>C=4:27
C = C =
@@ -118,11 +124,15 @@ C =
23 24 25 26 27 23 24 25 26 27
``` ```
Задание текста (символьного вектора):
```matlab ```matlab
>> H='This is a symbols vector' >> H='This is a symbols vector'
H = This is a symbols vector H = This is a symbols vector
``` ```
Задание вектора с комплексными числами:
```matlab ```matlab
>> L=[-2+23.1j, 3-5.6j] >> L=[-2+23.1j, 3-5.6j]
L = L =
@@ -130,8 +140,11 @@ L =
-2.0000 + 23.1000i 3.0000 - 5.6000i -2.0000 + 23.1000i 3.0000 - 5.6000i
``` ```
NOMER 7 ## 7 Базовые операции с матрицами.
Формирование матрицы из вектора C. Количество строк – результат деления длины вектора на заданное количество столбцов матрицы.
```matlab
>> D=reshape(C,[],6) >> D=reshape(C,[],6)
D = D =
@@ -139,7 +152,11 @@ D =
5 9 13 17 21 25 5 9 13 17 21 25
6 10 14 18 22 26 6 10 14 18 22 26
7 11 15 19 23 27 7 11 15 19 23 27
```
Умножение транспонированной матрицы на матрицу:
```matlab
>> E=B'*A >> E=B'*A
E = E =
@@ -150,7 +167,11 @@ E =
0.038203 0.340325 1.835803 4.116933 -1.331504 2.154751 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.258805 0.328323 0.793725 1.274550 -1.792678 1.396500
-0.015348 0.371355 1.553848 3.350191 -1.666793 2.328455 -0.015348 0.371355 1.553848 3.350191 -1.666793 2.328455
```
Горизонтальная конкатенация матриц:
```matlab
>> F=[A,B] >> F=[A,B]
F = F =
@@ -167,7 +188,11 @@ F =
0.232844 0.454478 0.678126 0.535694 0.709084 0.232844 0.454478 0.678126 0.535694 0.709084
0.770984 0.976534 0.934923 0.240303 0.664854 0.770984 0.976534 0.934923 0.240303 0.664854
0.684711 0.528709 0.677770 0.471018 0.816684 0.684711 0.528709 0.677770 0.471018 0.816684
```
Поэлементное умножение:
```matlab
>> G=A.*D >> G=A.*D
G = G =
@@ -175,7 +200,11 @@ G =
0.3670 -0.7498 16.9065 31.2700 -82.2207 19.2883 0.3670 -0.7498 16.9065 31.2700 -82.2207 19.2883
-2.6363 4.2249 12.2806 36.3894 13.8332 11.1695 -2.6363 4.2249 12.2806 36.3894 13.8332 11.1695
-3.4007 6.8259 -4.1303 -10.6636 6.1525 50.5534 -3.4007 6.8259 -4.1303 -10.6636 6.1525 50.5534
```
Поэлементное деление:
```matlab
M=G./4.5 M=G./4.5
M = M =
@@ -183,14 +212,11 @@ M =
8.1547e-02 -1.6662e-01 3.7570e+00 6.9489e+00 -1.8271e+01 4.2863e+00 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 -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 -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=D.^3
DDD = DDD =
@@ -198,7 +224,11 @@ DDD =
125 729 2197 4913 9261 15625 125 729 2197 4913 9261 15625
216 1000 2744 5832 10648 17576 216 1000 2744 5832 10648 17576
343 1331 3375 6859 12167 19683 343 1331 3375 6859 12167 19683
```
Поэлементное сравнение. Формирование логической матрицы: элементы <20 соответствуют 0, а >=20 соответствуют 1:
```matlab
>> DL=D>=20 >> DL=D>=20
DL = DL =
@@ -206,7 +236,11 @@ 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
0 0 0 0 1 1 0 0 0 0 1 1
```
Преобразование матрицы в столбец:
```matlab
>> Dstolb=D(:) >> Dstolb=D(:)
Dstolb = Dstolb =
@@ -234,9 +268,13 @@ Dstolb =
25 25
26 26
27 27
```
NOMER 8 ## 8 Примеры использования стандартных математических функций.
Поэлементное взятие корня:
```matlab
>> B1=sqrt(B) >> B1=sqrt(B)
B1 = B1 =
@@ -253,7 +291,11 @@ B1 =
0.7319 0.8421 0.7319 0.8421
0.4902 0.8154 0.4902 0.8154
0.6863 0.9037 0.6863 0.9037
```
Поэлементное взятие логорифма:
```matlab
>> B2=log(B) >> B2=log(B)
B2 = B2 =
@@ -270,7 +312,11 @@ B2 =
-0.388422 -0.624192 -0.343782 -0.388422 -0.624192 -0.343782
-0.067292 -1.425857 -0.408188 -0.067292 -1.425857 -0.408188
-0.388948 -0.752859 -0.202503 -0.388948 -0.752859 -0.202503
```
Поэлементное взятие синуса:
```matlab
>> B3=sin(B) >> B3=sin(B)
B3 = B3 =
@@ -287,18 +333,34 @@ B3 =
0.627335 0.510438 0.651139 0.627335 0.510438 0.651139
0.804553 0.237996 0.616944 0.804553 0.237996 0.616944
0.627057 0.453794 0.728880 0.627057 0.453794 0.728880
```
--------------------------------------- Количество столбцов матрицы:
```matlab
>> k=length(B1) >> k=length(B1)
k = 7 k = 7
```
Количество строк и столбцов матрицы:
```matlab
>> nm=size(B1) >> nm=size(B1)
nm = nm =
4 7 4 7
```
Количество элементов матрицы:
```matlab
>> elem=numel(B1) >> elem=numel(B1)
elem = 28 elem = 28
```
Генерация вектора из 20 линейно расположенных точек между указанными значениями:
```matlab
>> NN=linspace(11.5,34.1,20) >> NN=linspace(11.5,34.1,20)
NN = NN =
@@ -313,13 +375,21 @@ NN =
Columns 17 through 20: Columns 17 through 20:
30.532 31.721 32.911 34.100 30.532 31.721 32.911 34.100
```
Генерация матрицы из единиц:
```matlab
>> FF=ones(2,4) >> FF=ones(2,4)
FF = FF =
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
```
Генерация квадратной матрицы из нулей:
```matlab
>> GG=zeros(5) >> GG=zeros(5)
GG = GG =
@@ -328,7 +398,11 @@ 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 0 0 0 0 0
```
Формирование столбца из значений диагонали матрицы:
```matlab
>> B1D=diag(B1) >> B1D=diag(B1)
B1D = B1D =
@@ -336,7 +410,11 @@ B1D =
0.3068 0.3068
0.8781 0.8781
0.7271 0.7271
```
Формирование матрицы с указанной в векторе диагональю:
```matlab
>> DB=diag(B1D) >> DB=diag(B1D)
DB = DB =
@@ -346,7 +424,11 @@ Diagonal Matrix
0 0.3068 0 0 0 0.3068 0 0
0 0 0.8781 0 0 0 0.8781 0
0 0 0 0.7271 0 0 0 0.7271
```
Сортировка матрицы по столбцам:
```matlab
>> BS1=sort(B) >> BS1=sort(B)
BS1 = BS1 =
@@ -354,7 +436,11 @@ BS1 =
0.413143 0.168296 0.632518 0.528709 0.677770 0.240303 0.664854 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.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 0.831759 0.547413 0.770984 0.976534 0.934923 0.535694 0.816684
```
Сортировка матрицы по строкам:
```matlab
>> BS2=sortrows(B,2) >> BS2=sortrows(B,2)
BS2 = BS2 =
@@ -362,12 +448,20 @@ BS2 =
0.831759 0.168296 0.632518 0.858376 0.634046 0.031583 0.540918 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.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 0.288750 0.547413 0.770984 0.976534 0.934923 0.240303 0.664854
```
Суммирование матрицы по столбцам:
```matlab
>> DS1=sum(D) >> DS1=sum(D)
DS1 = DS1 =
22 38 54 70 86 102 22 38 54 70 86 102
```
Суммирование матрицы по строкам. Такие вводные функции означают, что матрица суммируется по второй размерности:
```matlab
>> DS2=sum(D,2) >> DS2=sum(D,2)
DS2 = DS2 =
@@ -375,14 +469,27 @@ DS2 =
90 90
96 96
102 102
```
Произведение элементов по столбцам:
```matlab
>> DP1=prod(D) >> DP1=prod(D)
DP1 = DP1 =
840 7920 32760 93024 212520 421200 840 7920 32760 93024 212520 421200
```
Определитель произведения матрицы и транспонированной матрицы:
```matlab
>> dt=det(A*A') >> dt=det(A*A')
dt = 1388.8 dt = 1388.8
```
Обратная матрица произведения матрицы и транспонированной матрицы:
```matlab
>> dinv=inv(A*A') >> dinv=inv(A*A')
dinv = dinv =
@@ -390,24 +497,81 @@ dinv =
0.025819 0.053005 -0.044695 0.025517 0.025819 0.053005 -0.044695 0.025517
-0.305610 -0.044695 0.432459 -0.163317 -0.305610 -0.044695 0.432459 -0.163317
0.189828 0.025517 -0.163317 0.317169 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 Dsum=0
for i=1:6 for i=1:6
Dsum=Dsum+sqrt(D(2,i)) Dsum=Dsum+sqrt(D(2,i))
endfor endfor
- цикл пока выполняется условие
Dsum2=0;i=1 Dsum2=0;i=1
while (D(i)<22) while (D(i)<22)
Dsum2=Dsum2+sin(D(i)) Dsum2=Dsum2+sin(D(i))
i=i+1 i=i+1
endwhile endwhile
- условие if
if (D(3,5)>=20) if (D(3,5)>=20)
printf('D(3,5)>=20') printf('D(3,5)>=20')
else else
printf('D(3,5)<20') printf('D(3,5)<20')
endif endif
```
Результат работы программы:
```matlab
Dsum = 0 Dsum = 0
Dsum = 2.2361 Dsum = 2.2361
Dsum = 5.2361 Dsum = 5.2361
@@ -453,8 +617,26 @@ i = 18
Dsum2 = -0.057011 Dsum2 = -0.057011
i = 19 i = 19
D(3,5)>=20 D(3,5)>=20
```
# 11 Создание графических функций.
NOMER10 Воспользуемся функцией построения графиков *plot()* в виде *plot(D(1,:),B([2,4],1:6))*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *hist()* в виде *hist(A(:),6)*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *pie()* в виде *pie(C1)*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *bar()* в виде *bar(A(:),6)*:
![Скриншот](figure0.png)
# 11 Создание графических функций.
D1 = 22 D1 = 22
D2 = D2 =