# Отчет по теме 1. Зенина Варвара А-03-24 ## 1 Запуск на выполнение среды GNU Octave ## 2 Установка пути к папке ТЕМА1 ![Путь к папке ТЕМА1](assets/2.png) ## 3 Отметка галочками нужных параметров ## 4 Отображение списка файлов ![Список файлов](assets/1.png) ## 5 Изучение работы системной помощи ![GNU Octave Manual](assets/3.png) ``` 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") Return a matrix with normally distributed random elements having zero mean and variance one. The arguments are handled the same as the arguments for 'rand'. ``` ![Пакеты Octave](assets/4.png) ## 6 Создание матриц с помощью команд ``` matlab >>> A=randn(4,6) A = -0.699730 -0.976977 -0.271006 -2.518044 -0.422044 1.454752 0.043711 -0.973201 -0.576803 0.774990 -0.159686 0.368326 1.232508 1.769434 -0.843969 0.429818 0.669032 1.573897 1.308529 -0.563002 -0.595588 0.479220 0.031290 -1.169116 ``` - матрица А со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами ``` matlab >>> B=rand(4,7) B = 0.911234 0.328625 0.303009 0.174785 0.553852 0.458439 0.822197 0.254895 0.233823 0.939794 0.225898 0.974590 0.446039 0.040543 0.890675 0.471907 0.287485 0.777967 0.523829 0.240374 0.826572 0.775910 0.599860 0.923872 0.051989 0.801522 0.562365 0.100517 ``` - матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1 ``` 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 ``` - вектор С с целыми числами от 4 до 27 ``` matlab >>> H='This is a symbols vector' H = This is a symbols vector ``` - символьный вектор Н ``` matlab >>> L=[-2+23.1j, 3-5.6j] L = -2.0000 + 23.1000i 3.0000 - 5.6000i ``` - вектор-строка L с 2 комплексными элементами ![Область переменных](assets/5.png) ![Журнал выполненных команд](assets/6.png) ## 7 Выполнение операций с матрицами ``` 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 ``` - преобразование матрицы С в матрицу с 6 столбцами ``` matlab >>> E=B'*A E = 1.4866e+00 8.3372e-04 -1.6078e+00 -1.3423e+00 1.9488e-01 1.9142e+00 1.1468e+00 -5.1330e-02 -9.7947e-01 -1.5598e-01 1.5846e-01 6.0562e-01 1.3923e+00 -1.2221e+00 -1.4171e+00 5.3164e-01 -5.6711e-02 1.5931e-01 9.1445e-01 9.5669e-01 -8.6521e-01 9.4250e-02 4.1227e-01 1.5011e+00 1.3495e+00 -1.0139e+00 -1.6317e+00 -3.0069e-02 -1.3841e-02 1.0521e+00 7.3085e-01 -7.7326e-01 -9.1932e-01 -4.3588e-01 -8.6294e-02 5.5206e-01 5.7674e-01 5.6325e-01 -1.0037e+00 -1.6355e+00 2.0267e-01 2.3944e+00 ``` - матричное перемножение В и А с транспонированием матрицы В ``` matlab >>> F=[A,B] F = Columns 1 through 12: -0.699730 -0.976977 -0.271006 -2.518044 -0.422044 1.454752 0.911234 0.328625 0.303009 0.174785 0.553852 0.458439 0.043711 -0.973201 -0.576803 0.774990 -0.159686 0.368326 0.254895 0.233823 0.939794 0.225898 0.974590 0.446039 1.232508 1.769434 -0.843969 0.429818 0.669032 1.573897 0.890675 0.471907 0.287485 0.777967 0.523829 0.240374 1.308529 -0.563002 -0.595588 0.479220 0.031290 -1.169116 0.775910 0.599860 0.923872 0.051989 0.801522 0.562365 Column 13: 0.822197 0.040543 0.826572 0.100517 ``` - создание матрицы путем «горизонтального» соединения матриц А и В ``` matlab >>> G=A.*D G = -2.7989 -7.8158 -3.2521 -40.2887 -8.4409 34.9141 0.2186 -8.7588 -7.4984 13.1748 -3.3534 9.2082 7.3950 17.6943 -11.8156 7.7367 14.7187 40.9213 9.1597 -6.1930 -8.9338 9.1052 0.7197 -31.5661 ``` - поэлементное перемножение матриц A и D ``` matlab >>> M=G./4.5 M = -0.621982 -1.736847 -0.722682 -8.953047 -1.875753 7.758679 0.048568 -1.946401 -1.666318 2.927739 -0.745202 2.046257 1.643344 3.932076 -2.625683 1.719271 3.270822 9.093625 2.035489 -1.376227 -1.985293 2.023373 0.159925 -7.014693 ``` - поэлементное деление элементов матрицы G на 4.5 ``` 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 ``` 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 Изучение некоторых стандартных функций математические функции: ``` matlab >>> B1=sqrt(B) B1 = 0.9546 0.5733 0.5505 0.4181 0.7442 0.6771 0.9068 0.5049 0.4836 0.9694 0.4753 0.9872 0.6679 0.2014 0.9438 0.6870 0.5362 0.8820 0.7238 0.4903 0.9092 0.8809 0.7745 0.9612 0.2280 0.8953 0.7499 0.3170 >>> B2=log(B) B2 = -0.092956 -1.112839 -1.193992 -1.744199 -0.590858 -0.779927 -0.195776 -1.366903 -1.453189 -0.062095 -1.487673 -0.025738 -0.807350 -3.205395 -0.115776 -0.750974 -1.246585 -0.251072 -0.646589 -1.425560 -0.190468 -0.253719 -0.511059 -0.079181 -2.956728 -0.221243 -0.575604 -2.297433 >>> B3=sin(B) B3 = 0.790260 0.322742 0.298394 0.173896 0.525967 0.442549 0.732643 0.252144 0.231699 0.807436 0.223981 0.827472 0.431395 0.040532 0.777496 0.454586 0.283541 0.701832 0.500200 0.238066 0.735613 0.700366 0.564527 0.797942 0.051965 0.718416 0.533188 0.100347 ``` Операции с матрицами: ``` 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.9546 0.4836 0.5362 0.2280 >>> DB=diag(B1D) DB = Diagonal Matrix 0.9546 0 0 0 0 0.4836 0 0 0 0 0.5362 0 0 0 0 0.2280 >>> BS1=sort(B) BS1 = 0.254895 0.233823 0.287485 0.051989 0.523829 0.240374 0.040543 0.775910 0.328625 0.303009 0.174785 0.553852 0.446039 0.100517 0.890675 0.471907 0.923872 0.225898 0.801522 0.458439 0.822197 0.911234 0.599860 0.939794 0.777967 0.974590 0.562365 0.826572 >>> BS2=sortrows(B,2) BS2 = 0.254895 0.233823 0.939794 0.225898 0.974590 0.446039 0.040543 0.911234 0.328625 0.303009 0.174785 0.553852 0.458439 0.822197 0.890675 0.471907 0.287485 0.777967 0.523829 0.240374 0.826572 0.775910 0.599860 0.923872 0.051989 0.801522 0.562365 0.100517 >>> 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 = 445.23 >>> dinv=inv(A*A') dinv = 0.138283 -0.027436 0.029141 0.118243 -0.027436 0.549321 0.011396 -0.142145 0.029141 0.011396 0.125583 0.035920 0.118243 -0.142145 0.035920 0.380003 ``` ## 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 Изучение некоторые управляющие конструкции для использования в программах на m-языке. Цикл по перечислению ``` 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 >>> graphics_toolkit('gnuplot') plot(D(1,:),B([2,4],1:6)) ``` ![Результат выполнения функции plot](assets/plot.png) Применение функции расчета и построения гистограммы ``` matlab >>> hist(A(:),6) ``` ![Результат выполнения функции hist](assets/hist.png) Изучение других функций ``` matlab >>> pie(C) bar(C) ``` ![Результат выполнения функции pie](assets/pie.png) ![Результат выполнения функции bar](assets/bar.png) ## 12 Изучение работы с текстовым форматом среды Содержание файла Prog1.m. ``` matlab >>> C = 4:27 D=reshape(C,[],6) D1=D(3,5) D2=D(3,4:end) D3=D(2:3,3:5) D4=D(16:20) D5=D(3:4,[1,3,6]) ``` ## 13 Сохранение области переменных