# Отчёт по теме 1 Латышев Герман, А-03-24 ## 1 Изучение среды GNU Octave ## 2 Настройка текущего каталога Нажал на окно рядом с **Текущая папка:** и установил путь к папке ТЕМА1: ![Скриншот выбора текущей папки](assets/figure2.png) ## 3 Настройка отображения окон ## 4 Установка путей к папкам ТЕМА1 и ТЕМА2 Добавил пути к папкам **ТЕМА1** и **ТЕМА2** Проверил список файлов в текущей папке ![Скриншот проверки списка файлов](assets/figure4.png) ## 5 Работа с системой помощи Открыл обширное англоязычное описание методики работы со средой ![Скриншот англоязычного описания](assets/figure5-1.png) Применил способ получения справок с помощью команды **help** ```matlab >> help randn 'randn' is a built-in function from the file libinterp/corefcn/rand.cc -- X = randn (N) -- X = randn (M, N, ...) -- X = randn ([M N ...]) -- X = randn (..., "single") -- X = randn (..., "double") -- V = randn ("state") -- randn ("state", V) -- randn ("state", "reset") -- V = randn ("seed") -- randn ("seed", V) -- randn ("seed", "reset") ``` Воспользовался функцией из дополнительно загружаемых пакетов ![Скриншот дополнительно загружаемых пакетов](assets/figure5-2.png) ## 6 Создание нескольких матриц с помощью различных команд Матрица А со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами ```matlab >> A=randn(4,6) A = -0.737272 0.612528 -1.024760 -0.481634 0.229665 1.197123 -1.502819 -0.179056 1.459476 -0.470790 0.300122 0.020587 0.345345 2.078780 -1.079867 -0.704489 1.252897 0.841148 0.553064 0.851616 -0.768269 1.228038 -0.726337 -0.294298 ``` Матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1 ```matlab >> B=rand(4,7) B = 0.591052 0.095643 0.911809 0.394246 0.221930 0.719075 0.824591 0.942754 0.399137 0.849660 0.237451 0.687453 0.827892 0.189113 0.941095 0.341196 0.281087 0.177957 0.271788 0.637949 0.856088 0.300132 0.879681 0.582801 0.533300 0.633886 0.015839 0.275049 ``` Вектор С с целыми числами от 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 ``` Символьный вектор Н ```matlab >> H = "This is a symbols vector" H = This is a symbols vector ``` Вектор-строка L с 2 комплексными элементами ```matlab L = -2.0000 + 23.1000i 3.0000 - 5.6000i ``` ## 7 Выполнение операций с матрицами Преобразование матрицы С в матрицу с 6 столбцами ``` 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 ``` Матричное перемножение В и А с транспонированием матрицы В (число столбцов в В должно совпадать с числом строк в А) ```matlab >> E = B'*A E = -1.3616e+00 2.4052e+00 -4.7660e-01 -1.0229e+00 1.3798e+00 1.4302e+00 -6.5995e-02 1.4455e+00 -5.5976e-01 6.0594e-01 -6.9706e-02 1.5082e-01 -1.5297e+00 1.4870e+00 -4.4561e-01 -3.2149e-01 3.9327e-01 1.1740e+00 -2.9111e-01 1.0231e+00 -6.5934e-01 2.2787e-01 -2.5858e-03 4.6959e-01 -7.5230e-01 1.1177e+00 -4.5935e-03 1.5643e-01 1.3740e-01 3.2189e-01 -1.5453e+00 1.6319e+00 -2.2966e-01 -1.1661e+00 1.2014e+00 1.4098e+00 -4.4439e-01 2.4851e+00 -1.7048e+00 -7.5152e-01 1.1189e+00 1.6302e+00 ``` Создание матрицы путем «горизонтального» соединения матриц А и В (числа строк у соединяемых матриц должны совпадать) ```matlab >> F = [A,B] F = Columns 1 through 12: -0.737272 0.612528 -1.024760 -0.481634 0.229665 1.197123 0.591052 0.095643 0.911809 0.394246 0.221930 0.719075 -1.502819 -0.179056 1.459476 -0.470790 0.300122 0.020587 0.942754 0.399137 0.849660 0.237451 0.687453 0.827892 0.345345 2.078780 -1.079867 -0.704489 1.252897 0.841148 0.941095 0.341196 0.281087 0.177957 0.271788 0.637949 0.553064 0.851616 -0.768269 1.228038 -0.726337 -0.294298 0.300132 0.879681 0.582801 0.533300 0.633886 0.015839 Column 13: 0.824591 0.189113 0.856088 0.275049 ``` Поэлементное перемножение матриц A и D (размеры матриц должны совпадать) ```matlab >> G = A.*D G = -2.9491 4.9002 -12.2971 -7.7061 4.5933 28.7309 -7.5141 -1.6115 18.9732 -8.0034 6.3026 0.5147 2.0721 20.7878 -15.1181 -12.6808 27.5637 21.8699 3.8714 9.3678 -11.5240 23.3327 -16.7058 -7.9460 ``` Поэлементное деление элементов матрицы G на 4.5 ```matlab >> M = G./4.5 M = -0.6554 1.0889 -2.7327 -1.7125 1.0207 6.3847 -1.6698 -0.3581 4.2163 -1.7785 1.4006 0.1144 0.4605 4.6195 -3.3596 -2.8180 6.1253 4.8600 0.8603 2.0817 -2.5609 5.1851 -3.7124 -1.7658 ``` Поэлементное возведение в степень элементов матрицы D ```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 ``` Cоздание логической матрицы, совпадающей по размерам с D и с элементами по заданному условию ```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 ``` Превращение матрицы в вектор-столбец ```matlab >> Dstolb=D(:) Dstolb = 4 5 6 7 8 9 10 11 12 13 14 15 ``` ## 8 Изучение математических функций и операций с матрицами Математические функции: ```matlab >> B1=sqrt(B) B1 = 0.7688 0.3093 0.9549 0.6279 0.4711 0.8480 0.9081 0.9710 0.6318 0.9218 0.4873 0.8291 0.9099 0.4349 0.9701 0.5841 0.5302 0.4218 0.5213 0.7987 0.9253 0.5478 0.9379 0.7634 0.7303 0.7962 0.1259 0.5245 >> B2=log(B) B2 = -0.525851 -2.347137 -0.092325 -0.930781 -1.505391 -0.329790 -0.192867 -0.058950 -0.918451 -0.162919 -1.437794 -0.374762 -0.188873 -1.665412 -0.060711 -1.075298 -1.269092 -1.726215 -1.302733 -0.449496 -0.155382 -1.203532 -0.128196 -0.539910 -0.628671 -0.455887 -4.145287 -1.290805 >> B3=sin(B) B3 = 0.557235 0.095497 0.790613 0.384112 0.220113 0.658689 0.734270 0.809179 0.388623 0.751056 0.235226 0.634571 0.736507 0.187988 0.808204 0.334615 0.277400 0.177019 0.268454 0.595549 0.755285 0.295647 0.770536 0.550364 0.508378 0.592280 0.015838 0.271594 ``` Операции с матрицами: ```matlab >> k=length(B1) k = 7 >> nm=size(B1) nm = 4 7 >> elem=numel(B1) elem = 28 >> NN=linspace(11.5,34.1,20) NN = Columns 1 through 15: 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 Columns 16 through 20: 29.342 30.532 31.721 32.911 34.100 >> FF=ones(2,4) FF = 1 1 1 1 1 1 1 1 >> 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 >> B1D=diag(B1) B1D = 0.7688 0.6318 0.5302 0.7303 >> DB=diag(B1D) DB = Diagonal Matrix 0.7688 0 0 0 0 0.6318 0 0 0 0 0.5302 0 0 0 0 0.7303 >> BS1=sort(B) BS1 = 0.300132 0.095643 0.281087 0.177957 0.221930 0.015839 0.189113 0.591052 0.341196 0.582801 0.237451 0.271788 0.637949 0.275049 0.941095 0.399137 0.849660 0.394246 0.633886 0.719075 0.824591 0.942754 0.879681 0.911809 0.533300 0.687453 0.827892 0.856088 >> BS2=sortrows(B,2) BS2 = 0.591052 0.095643 0.911809 0.394246 0.221930 0.719075 0.824591 0.941095 0.341196 0.281087 0.177957 0.271788 0.637949 0.856088 0.942754 0.399137 0.849660 0.237451 0.687453 0.827892 0.189113 0.300132 0.879681 0.582801 0.533300 0.633886 0.015839 0.275049 >> DS1=sum(D) DS1 = 22 38 54 70 86 102 >> DS2=sum(D,2) DS2 = 84 90 96 102 >> DP1=prod(D) DP1 = 840 7920 32760 93024 212520 421200 >> dt=det(A*A') dt = 135.51 >> dinv=inv(A*A') dinv = 5.2600e-01 -4.3199e-02 -2.4925e-01 4.7028e-02 -4.3199e-02 4.3540e-01 8.0641e-02 3.1915e-01 -2.4925e-01 8.0641e-02 2.4811e-01 -2.2361e-03 4.7028e-02 3.1915e-01 -2.2361e-03 5.1804e-01 ``` ## 9 Изучение индексации элементов матриц ```matlab >> D1=D(3,5) D1 = 22 >> D2=D(3,4:end) D2 = 18 22 26 >> D3=D(2:3,3:5) D3 = 13 17 21 14 18 22 >> D4=D(16:20) D4 = 19 20 21 22 23 >> D5=D(3:4,[1,3,6]) D5 = 6 14 26 7 15 27 ``` ## 10 Изучение управляющих конструкций Цикл по перечислению: ```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 ``` Цикл пока выполняется условие: ```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: ```matlab D(3,5)>=20 ``` ## 11 Использвание графических функций для построения различных графиков Функция посторения графиков: ```matlab >> plot(D(1,:),B([2,4],1:6)) ``` ![Скриншот графика](assets/figure11-1.png) Функция расчета и посторения гистограммы: ```matlab >> hist(A(:),6) ``` ![Скриншот гистограммы](assets/figure11-2.png) Функция расчета и посторения круговой диаграммы: ```matlab >> pie(C) ``` ![Скриншот круговой диаграммы](assets/figure11-3.png) Функция расчета и посторения диаграммы столбцов: ```matlab >> bar(C) ``` ![Скриншот диаграммы столбцов](assets/figure11-4.png) ## 12 Работа с текстовым редактором среды Создал сценарий **Prog1.m** ![Скриншот сценария](assets/figure12-1.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 ``` Запустил программу на выполнение вводом имени файла **Prog1** в командной строке ![Скриншот программы](assets/figure12-2.png) ## 13 Сохранение и загрузка области переменных Создал файл "Perem" Сохранил и загрузил область переменных ![Скриншот области переменных](assets/figure13.png)