# Отчет по теме 1 Бакайкин Константин, А-03-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 = -0.456910 -0.555566 0.803093 1.569653 1.325472 0.133544 -0.131904 0.021183 -0.091582 -0.414840 -0.421469 0.738983 1.719014 1.723503 -0.504743 0.441674 1.797601 0.923687 0.098965 -0.027680 -0.561811 1.605313 0.690128 -0.632586 ``` Сделали матрицу B с равномерно распределенными числами (4x7) с диапозоном от 0 до 1 ```matlab >> B=rand(4,7) B = 0.192067 0.555502 0.968665 0.070620 0.934708 0.829136 0.549038 0.203313 0.102147 0.412080 0.391154 0.428950 0.947358 0.237762 0.228346 0.378330 0.344054 0.906633 0.035163 0.529538 0.953942 0.629267 0.367450 0.452845 0.043022 0.242846 0.928494 0.528300 ``` Сделали вектор С с целыми числами от 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 = 0.340231 0.273738 -0.333158 1.328161 1.013639 -0.011252 0.419431 0.335428 0.039368 1.586541 1.626924 0.266684 0.139301 0.051015 0.312117 2.228439 2.041252 0.465214 1.478911 1.530446 -0.460895 0.418082 1.588201 1.108717 -0.399179 -0.456324 0.557192 1.694596 1.288944 0.320670 0.498371 0.446388 -0.209806 2.632862 2.292394 0.712582 1.409900 1.329509 -0.359147 2.032585 2.706928 0.795971 ``` Создали матрицу путем «горизонтального» соединения матриц А и В (Создали матрицу F) ```matlab >> F=[A,B] F = Columns 1 through 12: -0.456910 -0.555566 0.803093 1.569653 1.325472 0.133544 0.192067 0.555502 0.968665 0.070620 0.934708 0.829136 -0.131904 0.021183 -0.091582 -0.414840 -0.421469 0.738983 0.203313 0.102147 0.412080 0.391154 0.428950 0.947358 1.719014 1.723503 -0.504743 0.441674 1.797601 0.923687 0.228346 0.378330 0.344054 0.906633 0.035163 0.529538 0.098965 -0.027680 -0.561811 1.605313 0.690128 -0.632586 0.629267 0.367450 0.452845 0.043022 0.242846 0.928494 Column 13: 0.549038 0.237762 0.953942 0.528300 ``` Поэлементно перемножили матрицы A и D (Создали матрицу G) ```matlab ￿￿￿￿￿￿￿￿￿￿￿￿>> G=A.*D G = -1.8276 -4.4445 9.6371 25.1145 26.5094 3.2051 -0.6595 0.1906 -1.1906 -7.0523 -8.8509 18.4746 10.3141 17.2350 -7.0664 7.9501 39.5472 24.0159 0.6928 -0.3045 -8.4272 30.5010 15.8729 -17.0798 ``` Поэлементно поделили элементы матрицы G на 4.5 (Создали матрицу М) ```matlab >> M=G./4.5 M = -0.406143 -0.987673 2.141582 5.580990 5.890988 0.712235 -0.146560 0.042365 -0.264571 -1.567174 -1.966856 4.105459 2.292018 3.830007 -1.570313 1.766696 8.788273 5.336857 0.153945 -0.067662 -1.872702 6.777990 3.527320 -3.795516 ``` Поэлементно возвели в степень элементы матрицы 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.4383 0.7453 0.9842 0.2657 0.9668 0.9106 0.7410 0.4509 0.3196 0.6419 0.6254 0.6549 0.9733 0.4876 0.4779 0.6151 0.5866 0.9522 0.1875 0.7277 0.9767 0.7933 0.6062 0.6729 0.2074 0.4928 0.9636 0.7268 >> B2=log(B) B2 = -1.649914 -0.587884 -0.031837 -2.650442 -0.067521 -0.187371 -0.599588 -1.593011 -2.281345 -0.886537 -0.938654 -0.846414 -0.054078 -1.436486 -1.476893 -0.971988 -1.066957 -0.098017 -3.347759 -0.635749 -0.047152 -0.463199 -1.001169 -0.792205 -3.146051 -1.415328 -0.074191 -0.638091 >> B3=sin(B) B3 = 0.190888 0.527370 0.824130 0.070561 0.804426 0.737348 0.521867 0.201915 0.101969 0.400516 0.381255 0.415917 0.811876 0.235528 0.226367 0.369369 0.337306 0.787433 0.035156 0.505135 0.815702 0.588552 0.359236 0.437526 0.043008 0.240466 0.800719 0.504066 ``` Операции с матрицами -длина матрицы(кол-во столбцов) ```matlab >> k=length(B1) k = 7 ``` -размер матрицы (строкиXстолбцы) ```matlab >> nm=size(B1) nm = 4 7 ``` -количество элементов матрицы ```matlab >> elem=numel(B1) elem = 28 ``` ```matlab >> 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 ``` ```matlab >> FF=ones(2,4) FF = 1 1 1 1 1 1 1 1 ``` ```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 ``` ```matlab >> B1D=diag(B1) B1D = 0.4383 0.3196 0.5866 0.2074 ``` ```matlab >> DB=diag(B1D) DB = Diagonal Matrix 0.4383 0 0 0 0 0.3196 0 0 0 0 0.5866 0 0 0 0 0.2074 ``` ```matlab >> BS1=sort(B) BS1 = 0.192067 0.102147 0.344054 0.043022 0.035163 0.529538 0.237762 0.203313 0.367450 0.412080 0.070620 0.242846 0.829136 0.528300 0.228346 0.378330 0.452845 0.391154 0.428950 0.928494 0.549038 0.629267 0.555502 0.968665 0.906633 0.934708 0.947358 0.953942 ``` ```matlab >> BS2 = sortrows(B,2) BS2 = 0.203313 0.102147 0.412080 0.391154 0.428950 0.947358 0.237762 0.629267 0.367450 0.452845 0.043022 0.242846 0.928494 0.528300 0.228346 0.378330 0.344054 0.906633 0.035163 0.529538 0.953942 0.192067 0.555502 0.968665 0.070620 0.934708 0.829136 0.549038 ``` ```matlab >> DS1=sum(D) DS1 = 22 38 54 70 86 102 ``` ```matlab >> DS2=sum(D,2) DS2 = 84 90 96 102 ``` ```matlab >> DP1=prod(D) DP1 = 840 7920 32760 93024 212520 421200 ``` ```matlab >> dt=det(A*A') dt = 47.415 ``` ```matlab >> dinv=inv(A*A') dinv = 3.1251e-01 5.8486e-02 8.0228e-03 -2.1952e-01 5.8486e-02 2.4673e+00 -6.1622e-02 8.8955e-01 8.0228e-03 -6.1622e-02 1.0567e-01 -7.8216e-02 -2.1952e-01 8.8955e-01 -7.8216e-02 7.9417e-01 ``` ## 9 Изучили работу с индексацией элементов матриц. ```matlab >> D1=D(3,5) D1 = 22 ``` ```matlab >> D2=D(3,4:end) D2 = 18 22 26 ``` ```matlab >> D3=D(2:3,3:5) D3 = 13 17 21 14 18 22 ``` ```matlab >> D4=D(16:20) D4 = 19 20 21 22 23 ``` ```matlab >> 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 >> 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)) ``` ![Скриншот графика](assets/figure3) Функция расчета и построения гистограммы ```matlab •>> hist(A(:),6) ``` ![Скриншот гистограммы](assets/figure4) Функция pie() ```matlab >> pie(C) ``` ![Скриншот *пирога*](assets/figure5) Функция bar() ```matlab >> bar(C) ``` ![Скриншот график](assets/figure6) ## 12 Изучение работы с текстовым редактором среды Создал файл и занес в него команды из 9 пункта: ![Скриншот файла с командами](assets/figure7) ```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 ```