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

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

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

@@ -20,7 +20,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png)
## 4 Устанавливаем путь к рабочим репозиториям
## 4 Установка пути к рабочим репозиториям.
С помощью *Set path...* установливаем путь к папкам ТЕМА1 и ТЕМА2. Включаем отображение списка файлов в текущей папке.
@@ -28,7 +28,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png)
## 5 Изучаем работу с системой помощи
## 5 Работа с системой помощи.
Просматриваем документацию по программе *(GNU Octave Manual)*.
@@ -42,7 +42,7 @@ GUI GNU Octave запущен, произведено общее ознаком
![Скриншот](figure0.png)
```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))*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *hist()* в виде *hist(A(:),6)*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *pie()* в виде *pie(C1)*:
![Скриншот](figure0.png)
Воспользуемся функцией расчёта и построена гистрограммы *bar()* в виде *bar(A(:),6)*:
![Скриншот](figure0.png)
# 11 Создание графических функций.
D1 = 22
D2 =