# Отчет по теме 1 Долганов Всеволод, А-01-24 ## 1 Знакомство с интерфейсом Запустил среду GNU Octave и визуально изучил расположение окон и главного меню. ## 2 Настройка рабочей директории В окне «Текущая папка» установил путь к созданной директории TEMA1: ![Скриншот выбора текущей папки](1.png) ## 3 Настройка отображаемых окон Через меню «Окно» включил отображение командного окна, журнала команд, диспетчера файлов, области переменных и редактора. ![Скриншот выбранных отображений](3.png) ## 4 Установка путей к рабочим папкам Через меню «Правка» -> «Установить путь» добавил пути к папкам TEMA1 и TEMA2. Убедился, что файлы отображаются в «Диспетчере файлов». ![Скриншот диспетчера файлов](2.png) ## 5 Использование встроенной справки Изучил документацию через главное меню и проверил работу оперативной справки через командное окно: ```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") 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’. By default, ‘randn’ uses the Marsaglia and Tsang "Ziggurat technique" to transform from a uniform to a normal distribution. The class of the value returned can be controlled by a trailing "double" or "single" argument. These are the only valid classes. Reference: G. Marsaglia and W.W. Tsang, ‘Ziggurat Method for Generating Random Variables’, J. Statistical Software, vol 5, 2000, See also: rand, rande, randg, randp. Additional help for built-in functions and operators is available in the online version of the manual. Use the command 'doc ' to search the manual index. Help and information about Octave is also available on the WWW at https://www.octave.org and https://octave.discourse.group/c/help/ ``` ## 6 Создание базовых матриц и векторов ```matlab >> A = randn(4,6) A = -0.159822 0.268463 0.602706 0.712673 0.192046 0.199132 0.564368 0.064164 1.269051 0.629784 -0.246480 1.184103 1.444376 -0.867363 0.998737 0.456648 0.876060 0.226459 2.148732 2.285075 0.440337 0.502833 1.951507 -0.719981 >> B = rand(4,7) B = 0.448006 0.444495 0.898416 0.106126 0.317332 0.488563 0.949919 0.829320 0.203251 0.670602 0.290699 0.086682 0.700506 0.486505 0.568398 0.636211 0.581117 0.403838 0.227579 0.656758 0.975163 0.941064 0.868487 0.350656 0.828308 0.075934 0.838079 0.302820 >> C = 4:27 C = Columns 1 through 23: 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Column 24: 27 >> H = 'This is a symbols vector' H = This is a symbols vector >> L = [-2+23.1j, 3-5.6j] L = -2.0000 + 23.1000i 3.0000 - 5.6000i ``` ## 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 >> E = B'*A E = 3.239515 1.830881 2.304531 1.574329 2.216070 0.522383 2.828742 1.565104 1.543670 1.172011 2.287484 -0.152035 1.827697 0.581458 2.127299 1.504298 1.200649 0.852098 2.510204 1.589615 1.200937 0.859622 1.918964 -0.139563 0.490076 0.066876 0.561990 0.422850 0.387136 0.162697 3.066672 1.521535 2.208404 1.510674 2.132042 0.472088 2.181931 0.132381 2.297197 1.580948 1.507771 0.768041 >> F = [A,B] F = Columns 1 through 10: -0.159822 0.268463 0.602706 0.712673 0.192046 0.199132 0.448006 0.444495 0.898416 0.106126 0.564368 0.064164 1.269051 0.629784 -0.246480 1.184103 0.829320 0.203251 0.670602 0.290699 1.444376 -0.867363 0.998737 0.456648 0.876060 0.226459 0.568398 0.636211 0.581117 0.403838 2.148732 2.285075 0.440337 0.502833 1.951507 -0.719981 0.941064 0.868487 0.350656 0.828308 Columns 11 through 13: 0.317332 0.488563 0.949919 0.086682 0.700506 0.486505 0.227579 0.656758 0.975163 0.075934 0.838079 0.302820 >> G = A.*D G = -0.6393 2.1477 7.2325 11.4028 3.8409 4.7792 2.8218 0.5775 16.4977 10.7063 -5.1761 29.6026 8.6663 -8.6736 13.9823 8.2197 19.2733 5.8879 15.0411 25.1358 6.6051 9.5538 44.8847 -19.4395 >> M = G./4.5 M = -0.1421 0.4773 1.6072 2.5339 0.8535 1.0620 0.6271 0.1283 3.6661 2.3792 -1.1502 6.5783 1.9258 -1.9275 3.1072 1.8266 4.2830 1.3084 3.3425 5.5857 1.4678 2.1231 9.9744 -4.3199 >> 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 >> 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 >> 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); B2 = log(B); B3 = sin(B); B1 = 0.6693 0.6667 0.9478 0.3258 0.5633 0.6990 0.9746 0.9107 0.4508 0.8189 0.5392 0.2944 0.8370 0.6975 0.7539 0.7976 0.7623 0.6355 0.4771 0.8104 0.9875 0.9701 0.9319 0.5922 0.9101 0.2756 0.9155 0.5503 B2 = -0.802949 -0.810817 -0.107122 -2.243128 -1.147808 -0.716287 -0.051378 -0.187149 -1.593316 -0.399580 -1.235468 -2.445513 -0.355952 -0.720508 -0.564934 -0.452224 -0.542804 -0.906742 -1.480257 -0.420440 -0.025151 -0.060744 -0.141003 -1.047948 -0.188371 -2.577887 -0.176643 -1.194617 B3 = 0.433169 0.430002 0.782341 0.105927 0.312033 0.469357 0.813369 0.737472 0.201854 0.621457 0.286622 0.086573 0.644605 0.467539 0.538282 0.594152 0.548958 0.392950 0.225620 0.610552 0.827793 0.808185 0.763352 0.343514 0.736788 0.075861 0.743360 0.298213 >> 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 13: 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 Columns 14 through 20: 26.963 28.153 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.6693 0.4508 0.7623 0.9101 >> DB=diag(B1D) DB = Diagonal Matrix 0.6693 0 0 0 0 0.4508 0 0 0 0 0.7623 0 0 0 0 0.9101 >> BS1=sort(B) BS1 = 0.448006 0.203251 0.350656 0.106126 0.075934 0.488563 0.302820 0.568398 0.444495 0.581117 0.290699 0.086682 0.656758 0.486505 0.829320 0.636211 0.670602 0.403838 0.227579 0.700506 0.949919 0.941064 0.868487 0.898416 0.828308 0.317332 0.838079 0.975163 >> BS2=sortrows(B,2) BS2 = 0.829320 0.203251 0.670602 0.290699 0.086682 0.700506 0.486505 0.448006 0.444495 0.898416 0.106126 0.317332 0.488563 0.949919 0.568398 0.636211 0.581117 0.403838 0.227579 0.656758 0.975163 0.941064 0.868487 0.350656 0.828308 0.075934 0.838079 0.302820 >> 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 = 77.948 >> dinv=inv(A*A') dinv = 1.997545 -0.798335 0.216077 -0.153936 -0.798335 0.703918 -0.289148 0.084105 0.216077 -0.289148 0.374075 -0.084248 -0.153936 0.084105 -0.084248 0.094346 >> ``` ## 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 >> 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)) ``` ![Результат работы команды plot()](4.png) ```matlab >> hist(A(:),6) ``` ![Результат работы команды hist()](5.png) ```matlab >> pie(D(1,:)) ``` ![Результат работы команды pie()](6.png) ```matlab >> bar(DS1) ``` ![Результат работы команды bar()](7.png) ## 12 Изучение работы с текстовым редактором среды ```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 ``` ```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 ``` ## 13 Сохранение и загрузка рабочей области Сохранил область переменных в файл Perem, перезапустил среду, установил рабочую директорию и успешно загрузил переменные обратно через главное меню ## 14 Завершили сеанс работы со средой.