# Отчет по теме 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 = -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 ``` ```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 ``` ```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.2254 0.8618 0.8316 0.8434 ``` ```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 ``` ```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 ``` ```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 ``` ```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 = 340.24 ``` ```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 Изучили работу с индексацией элементов матриц. ```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 пункта: ![Скриншот файла Prog1.m](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 ``` Проверка запуска файла из командного окна: ![Скриншот запуска файла](assets/figure8) ## 13 Файлы переменных Создали файл переменных (Perem),перезапустили IDE, загрузили область переменных: ![Скриншот сохранённого файла Perem](assets/figure9)