diff --git a/ТЕМА1/report.md b/ТЕМА1/report.md new file mode 100644 index 0000000..50dee73 --- /dev/null +++ b/ТЕМА1/report.md @@ -0,0 +1,635 @@ +# Отчет по теме 1 + +Андросов ДС, А-02-24 + +## 1 Изучение среды GNU Octave + +## 2 Настройка текущего каталога + +Нажал на окно рядом с *Текущая папка:* и установил путь к папке ТЕМА1: + +![Скриншот выбора текущей папки](assets/figure0.PNG) + +## 3 Настройка отображения + +Нажал в главном меню предложение *Окно* и отметил соответствующие закладки галочками: + +![Скриншот предложения "Окно"](assets/figure1.PNG) + +## 4 Настройка пути + +Установил путь к папкам ТЕМА1 и ТЕМА2. отобразил список файлов размещенных в текущей папке: + +![Скриншот списка файлов текущей папки](assets/figure2.PNG) + +## 5 Изучение работы системы помощи + +3 способа взаимодействия с системой помощи: + +В главном меню выберите предложения «Справка» + « Документация» + « На диске» + +Ввод в командную строк help randn + +В главном меню выберите предложения «Справка» + «Пакеты Octave» + +## 6 Создание матриц и векторов + +Сделали матрицу А с нормально распределенными числами (4x6) + +```matlab +>> A=randn(4,6) + A = + + -2.4768 0.2022 1.7214 0.5607 -0.6510 -0.5776 + -1.8340 -1.1030 -0.3087 -0.4763 0.2348 -0.1019 + 0.1251 -0.6302 1.4213 0.5174 -0.6845 0.8219 + 0.7336 -0.4126 0.8449 -1.2095 0.5274 -0.3005 +``` + +Сделали матрицу B с равномерно распределенными числами (4x7) с диапозоном от 0 до 1 + +```matlab +>> B=rand(4,7) + B = + + 0.050805 0.614210 0.729058 0.888805 0.992633 0.966686 0.649558 + 0.955901 0.742735 0.523347 0.252046 0.369388 0.464910 0.237791 + 0.269037 0.606050 0.691637 0.909650 0.521684 0.067135 0.767444 + 0.355819 0.233494 0.058285 0.711355 0.714174 0.717308 0.252572 +``` + +Сделали вектор С с целыми числами от 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 +``` + +Сделали символьный вектор H + +```matlab +>> H='This is a symbols vector' + H = This is a symbols vector +``` + +Сделали вектор-строку L с 2 комплексными элементами + +```matlab +>> L=[-2+23.1j, 3-5.6j] + L = + + -2.0000 + 23.1000i 3.0000 - 5.6000i + +``` + +## 7 Операции с матрицами и векторами + +преобразовали матрицу С в матрицу с 6 столбцами (D) + +```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 + +``` + +Перемножили матрицу B и матрицу A с транспонированием матрицы В (Создали новую матрицу E) + +```matlab +>> E=B'*A + E = + + -1.5843e+00 -1.3604e+00 4.7541e-01 -7.1798e-01 1.9481e-01 -1.2565e-02 + -2.6364e+00 -1.1733e+00 1.8867e+00 2.1753e-02 -5.1722e-01 -2.4887e-03 + -2.6363e+00 -8.8970e-01 2.1257e+00 4.4683e-01 -7.9448e-01 7.6533e-02 + -2.0280e+00 -9.6500e-01 3.3461e+00 -1.1443e-02 -7.6700e-01 -5.1326e-03 + -2.5469e+00 -8.3011e-01 2.9396e+00 -2.1326e-01 -5.3999e-01 -3.9679e-01 + -2.7123e+00 -6.5558e-01 2.2220e+00 -5.1228e-01 -1.8786e-01 -7.6608e-01 + -1.7637e+00 -7.1875e-01 2.3489e+00 3.4251e-01 -7.5919e-01 1.5548e-01 + +``` + +Создали матрицу путем «горизонтального» соединения матриц А и В (Создали матрицу F) + +```matlab +>> F=[A,B] + F = + + -2.476837 0.202242 1.721359 0.560662 -0.651017 -0.577574 0.050805 0.614210 0.729058 0.888805 0.992633 0.966686 0.649558 + -1.833978 -1.103007 -0.308693 -0.476314 0.234755 -0.101923 0.955901 0.742735 0.523347 0.252046 0.369388 0.464910 0.237791 + 0.125072 -0.630160 1.421319 0.517391 -0.684532 0.821924 0.269037 0.606050 0.691637 0.909650 0.521684 0.067135 0.767444 + 0.733602 -0.412623 0.844942 -1.209458 0.527361 -0.300492 0.355819 0.233494 0.058285 0.711355 0.714174 0.717308 0.252572 + +``` + +Поэлементно перемножили матрицы A и D (Создали матрицу G) + +```matlab +>> G=A.*D + G = + + -9.9073 1.6179 20.6563 8.9706 -13.0203 -13.8618 + -9.1699 -9.9271 -4.0130 -8.0973 4.9299 -2.5481 + 0.7504 -6.3016 19.8985 9.3130 -15.0597 21.3700 + 5.1352 -4.5388 12.6741 -22.9797 12.1293 -8.1133 +``` + +Поэлементно поделили элементы матрицы G на 4.5 (Создали матрицу М) + +```matlab +>> M=G./4.5 + M = + + -2.2016 0.3595 4.5903 1.9935 -2.8934 -3.0804 + -2.0378 -2.2060 -0.8918 -1.7994 1.0955 -0.5662 + 0.1668 -1.4004 4.4219 2.0696 -3.3466 4.7489 + 1.1412 -1.0086 2.8165 -5.1066 2.6954 -1.8030 + +``` + +Поэлементно возвели в степень элементы матрицы D (Создали матрицу DDD) + +```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 + + +``` + +Создали логическую матрицу, совпадающую по размерам с матрицей D и с элементами которые меньше или равны 20 (Создали матрицу DL) + +```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 + +``` + +Превратили матрицу D в вектор-столбец + +```matlab +>> Dstolb=D(:) +Dstolb = + + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + +``` + +## 8 Изучение стандартных функций + +Математические функции (корень, натуральный логарифм, синус матрицы B) + +```matlab +>> B1=sqrt(B) +B1 = + + 0.2254 0.7837 0.8538 0.9428 0.9963 0.9832 0.8060 + 0.9777 0.8618 0.7234 0.5020 0.6078 0.6818 0.4876 + 0.5187 0.7785 0.8316 0.9538 0.7223 0.2591 0.8760 + 0.5965 0.4832 0.2414 0.8434 0.8451 0.8469 0.5026 + +>> B2=log(B) +B2 = + + -2.9798e+00 -4.8742e-01 -3.1600e-01 -1.1788e-01 -7.3945e-03 -3.3882e-02 -4.3146e-01 + -4.5101e-02 -2.9742e-01 -6.4751e-01 -1.3781e+00 -9.9591e-01 -7.6591e-01 -1.4364e+00 + -1.3129e+00 -5.0079e-01 -3.6869e-01 -9.4695e-02 -6.5069e-01 -2.7011e+00 -2.6469e-01 + -1.0333e+00 -1.4546e+00 -2.8424e+00 -3.4058e-01 -3.3663e-01 -3.3225e-01 -1.3761e+00 + + +>> B3=sin(B) +B3 = + + 0.050783 0.576313 0.666167 0.776319 0.837468 0.823008 0.604834 + 0.816834 0.676305 0.499782 0.249386 0.361044 0.448342 0.235556 + 0.265803 0.569625 0.637799 0.789289 0.498341 0.067085 0.694298 + 0.348358 0.231378 0.058252 0.652861 0.654993 0.657358 0.249895 +``` + +Операции с матрицами + +- длина матрицы(кол-во столбцов) + +```matlab +>> k=length(B1) +k = 7 + +``` + +- размер матрицы (строкиXстолбцы) + +```matlab +>> nm=size(B1) +nm = + + 4 7 + +``` + +- количество элементов матрицы + +```matlab +>> elem=numel(B1) +elem = 28 + +``` + +- создание вектор-строки от 11.5 до 34.1 с 20 значениями + +```matlab +>> NN=linspace(11.5,34.1,20) +NN = + + Columns 1 through 18: + + 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 29.342 30.532 31.721 + + Columns 19 and 20: + + 32.911 34.100 + +``` + +- создание единичной матрицы (2x4) + +```matlab +>> FF=ones(2,4) +FF = + + 1 1 1 1 + 1 1 1 1 + +``` + +- создание нулевой матрицы (5х5) + +```matlab +>> 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 + +``` + +- извлечение из матрицы B1 главной диагонали (матрица -> вектор) + +```matlab +>> B1D=diag(B1) +B1D = + + 0.2254 + 0.8618 + 0.8316 + 0.8434 + +``` + +- создание матрицы по главной диагонали матрицы B1D(вектор -> матрица) +```matlab +>> DB=diag(B1D) +DB = + +Diagonal Matrix + + 0.2254 0 0 0 + 0 0.8618 0 0 + 0 0 0.8316 0 + 0 0 0 0.8434 + + +``` + +- сортировка матрицы B по возрастанию (каждый столбец) +```matlab +>> BS1=sort(B) +BS1 = + + 0.050805 0.233494 0.058285 0.252046 0.369388 0.067135 0.237791 + 0.269037 0.606050 0.523347 0.711355 0.521684 0.464910 0.252572 + 0.355819 0.614210 0.691637 0.888805 0.714174 0.717308 0.649558 + 0.955901 0.742735 0.729058 0.909650 0.992633 0.966686 0.767444 + +``` + +- сортировка матрицы B по второму столбцу (в порядке возрастания) + +```matlab +>> BS2 = sortrows(B,2) +BS2 = + + 0.355819 0.233494 0.058285 0.711355 0.714174 0.717308 0.252572 + 0.269037 0.606050 0.691637 0.909650 0.521684 0.067135 0.767444 + 0.050805 0.614210 0.729058 0.888805 0.992633 0.966686 0.649558 + 0.955901 0.742735 0.523347 0.252046 0.369388 0.464910 0.237791 + +``` + +- cуммирование матрицы D по столбцам +```matlab +>> DS1=sum(D) +DS1 = + + 22 38 54 70 86 102 + +``` + +- cуммирование матрицы D по строкам + +```matlab +>> DS2=sum(D,2) +DS2 = + + 84 + 90 + 96 + 102 + +``` + +- произведение матрицы D по столбцам + +```matlab +>> DP1=prod(D) +DP1 = + + 840 7920 32760 93024 212520 421200 + +``` + +- определитель произведения матрицы A на её транспонированную матрицу + +```matlab +>> dt=det(A*A') +dt = 340.24 + +``` + +- обратная матрица для произведения матрицы A на её транспонированную матрицу + +```matlab +>> dinv=inv(A*A') +dinv = + + 0.177463 -0.128560 -0.125808 0.066288 + -0.128560 0.298619 0.113918 -0.023690 + -0.125808 0.113918 0.353943 -0.070004 + 0.066288 -0.023690 -0.070004 0.337518 + +``` +## 9 Изучили работу с индексацией элементов матриц + +- извлечение элемента, находящегося на пересечении 3-й строки и 5-го столбца матрицы D + +```matlab +>> D1=D(3,5) +D1 = 22 + +``` + +- извлечение части 3-й строки матрицы D — с 4-го столбца и до конца + +```matlab +>> D2=D(3,4:end) +D2 = + + 18 22 26 + +``` + +- извлечение подматрицы из матрицы D — строки со 2 по 3 и столбцы с 3 по 5 + +```matlab +>> D3=D(2:3,3:5) +D3 = + + 13 17 21 + 14 18 22 + +``` + +- извлечение элементов с 16-го по 20-й включительно из матрицы D как одномерный массив (вектор) + +```matlab +>> D4=D(16:20) +D4 = + + 19 20 21 22 23 + +``` + +- извлечение подматрицы из D: строки 3–4 и столбцы 1, 3 и 6 + +```matlab +>> D5=D(3:4,[1,3,6]) +D5 = + + 6 14 26 + 7 15 27 + +``` + +## 10 Изучение некоторых управляющих конструкций + +Цикл по перечислению (С 1-го по 6-й столбец) + +```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 + +``` + + +Цикл пока выполняется условие (он продолжается, пока значение первого элемента матрицы D меньше 22) + +```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 (проверка условия, что значение в матрице D в 3-й строке и 5-м столбце >=20) + +```matlab +>> if (D(3,5)>=20) +printf('D(3,5)>=20') +else +printf('D(3,5)<20') +endif +D(3,5)>=20>> + +``` + +## 11 Использование графических функций + +Функция построения графиков + + + +```matlab +>>plot(D(1,:),B([2,4],1:6)) + +``` + +По оси X — вся первая строка матрицы D + +По оси Y — данные из матрицы B: строки 2 и 4, столбцы с 1 по 6 + +![Скриншот графиков](assets/figure3.PNG) + +Функция расчета и построения гистограммы + +```matlab +>> hist(A(:),6) + +``` + +![Скриншот гистограммы](assets/figure4.PNG) + +Функция графика "Пирог" + +```matlab +>> pie(C) + +``` + +![Скриншот графика "Пирог"](assets/figure5.PNG) + +Функция столбчатой диаграммы + +```matlab +>> bar(C) + +``` + +![Скриншот столбчатой диаграммы](assets/figure6.PNG) + +## 12 Изучение работы с текстовым редактором среды + +Создал файл и занес в него команды из 9 пункта: + +![Скриншот файла Prog1.m](assets/figure7.PNG) + + +```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 + +``` + +Проверка запуска файла из командного окна: + +![Скриншот запуска файла](assets/figure8.png) + +## 13 Файлы переменных + +Создали файл переменных (Perem),перезапустили IDE, загрузили область переменных: + +![Скриншот сохранённого файла Perem](assets/figure9.png) \ No newline at end of file diff --git a/ТЕМА1/task.md b/ТЕМА1/task.md new file mode 100644 index 0000000..a0185b6 --- /dev/null +++ b/ТЕМА1/task.md @@ -0,0 +1,288 @@ +\# Общее контрольное задание по теме 1 + + + +Бакайкин Константин, А-03-24 + + + +\## Задание 1 + + + +Создайте переменную ММ – матрицу 5х7 со случайными нормально распределенными элементами с математическим ожиданием 10 и стан-дартным отклонением 8. + + + + + +\## Решение 1 + + + +```matlab + +type ‘pkg load statistics’ from the Octave prompt. + +>> pkg load statistics + +>> MM = normrnd(10, 8, \[5, 7])%матрица 5x7 c нормальным законом распределения с мат. ожиданием 10 и стандарт. отклонением 8 + +MM = + + + +  6.2123 11.5390 4.9818 10.5996 -10.4581 12.4230 17.4780 + +  13.6807 4.7491 10.0626 10.2753 10.1129 13.5258 -8.8423 + +  17.2013 18.5296 10.6960 0.7084 16.7562 13.5162 1.6565 + +  11.6338 -3.1684 8.8374 19.0090 -17.1580 5.0793 -1.6553 + +  -3.8405 14.1019 3.3335 3.6932 -0.6659 15.1892 26.3863 + + + +``` + + + +\## Задание 2 + + + +Рассчитайте среднее значение SR по всем элементам матрицы ММ. + + + +\## Решение 2 + + + +```matlab + +SR = mean(MM, 'all')%ср.знач по всем эл-там матрицы + +SR = 7.6051 + +``` + + + +\## Задание 3 + + + +Замените в ММ все значения, превышающие SR+8, на значение SR+8, а значения, меньшие, чем SR-8, - на SR-8. + + + +\## Решение 3 + + + +```matlab +>> lower\_border = SR - 8%нижняя граница + +lower\_border = -0.3949 + +>> upper\_border = SR + 8%верхняя граница + +upper\_border = 15.605 + +>> MM(MM > upper\_border) = upper\_border%проверка выполнения условия верхней границы + +>> MM(MM < lower\_border) = lower\_border%проверка выполнения условия нижней границы + +>> MM%вывод матрицы + +MM = + + + +  6.2123 11.5390 4.9818 10.5996 -0.3949 12.4230 15.6051 + +  13.6807 4.7491 10.0626 10.2753 10.1129 13.5258 -0.3949 + +  15.6051 15.6051 10.6960 0.7084 15.6051 13.5162 1.6565 + +  11.6338 -0.3949 8.8374 15.6051 -0.3949 5.0793 -0.3949 + +  -0.3949 14.1019 3.3335 3.6932 -0.3949 15.1892 15.6051 + + +``` + + + +\## Задание 4 + + + +Превратите ММ в вектор – столбец ММС. Упорядочьте его элементы по возрастанию. Определите значение медианы, в качестве которого возь-мите серединное по порядку индексов значение в упорядоченном векторе. + + + +\## Решение 4 + + + +```matlab + +>> MMC = MM(:)%создание вектор-столбца + +>> MMC = sort(MMC, 'ascend')%сортировка по возрастанию + +MMC = + + + +  -0.3949 + +  -0.3949 + +  -0.3949 + +  -0.3949 + +  -0.3949 + +  -0.3949 + +  -0.3949 + +  0.7084 + +  1.6565 + +  3.3335 + +  3.6932 + +  4.7491 + +  4.9818 + +  5.0793 + +  6.2123 + +  8.8374 + +  10.0626 + +  10.1129 + +  10.2753 + +  10.5996 + +  10.6960 + +  11.5390 + +  11.6338 + +  12.4230 + +  13.5162 + +  13.5258 + +  13.6807 + +  14.1019 + +  15.1892 + +  15.6051 + +  15.6051 + +  15.6051 + +  15.6051 + +  15.6051 + +  15.6051 + + + +>> n = length(MMC)%длина матрицы MMC + +n = 35 + +>> if (mod(n,2) == 0)%условие кратности + +med = (MMC(n/2) + MMC(n/2 + 1)) / 2 %медиана для четного знач. + +else + +med = MMC((n+1)/2) %медиана для нечетного знач. + +med + +end + +med = 10.113 + +med = 10.113 + +``` + + + +\## Задание 5 + + + +Рассчитайте матрицу ММ1 с элементами, равными натуральным логарифмам от значений соответствующих элементов из матрицы ММ. + + + +\## Решение 5 + + + +```matlab + +>> MM1 = log(MM)% создание матрицы MM1 с логарифм. эл-тами от значений матрицы MM + +MM1 = + + + + Columns 1 through 5: + + + +  1.8265 + 0i 2.4457 + 0i 1.6058 + 0i 2.3608 + 0i -0.9292 + 3.1416i + +  2.6160 + 0i 1.5579 + 0i 2.3088 + 0i 2.3297 + 0i 2.3138 + 0i + +  2.7476 + 0i 2.7476 + 0i 2.3699 + 0i -0.3448 + 0i 2.7476 + 0i + +  2.4539 + 0i -0.9292 + 3.1416i 2.1790 + 0i 2.7476 + 0i -0.9292 + 3.1416i + +  -0.9292 + 3.1416i 2.6463 + 0i 1.2040 + 0i 1.3065 + 0i -0.9292 + 3.1416i + + + + Columns 6 and 7: + + + +  2.5196 + 0i 2.7476 + 0i + +  2.6046 + 0i -0.9292 + 3.1416i + +  2.6039 + 0i 0.5047 + 0i + +  1.6252 + 0i -0.9292 + 3.1416i + +  2.7206 + 0i 2.7476 + 0i + +``` +