From 8adce4c392ef70986f7f184cacf398d8ac1d112e Mon Sep 17 00:00:00 2001 From: KomarovYegA Date: Wed, 11 Feb 2026 20:52:35 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20rep?= =?UTF-8?q?ort=20=D0=B8=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ТЕМА1/report.md | 212 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 197 insertions(+), 15 deletions(-) diff --git a/ТЕМА1/report.md b/ТЕМА1/report.md index b7e67c4..07179db 100644 --- a/ТЕМА1/report.md +++ b/ТЕМА1/report.md @@ -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 =