Files
it-labs/ТЕМА1/report.md
Пользователь № 6 аудитории Ж-202 2251963c94 Заготовка отчета
2026-02-11 12:35:23 +03:00

11 KiB

Отчет по теме 1

Дмитриев Денис, А-03-24

1 Изучение среды GNU Octave

2 Настройка текущего католога

Нажал на окно рядом с Текущая папка: и установил путь к папке TEMA1:

Скриншот выбора текущей папки

3 Работа с предложением Окно

Отметил галочками предложения, которые указаны в методическом задании:

Скриншот выбора нужных для работы окон

4 Отображение списка файлов, размещенных в текущей папке

Выбрал в главном меню предложения "Правка" + "Установить путь" и добавил в появившийся список пути к папкам TEMA1 и TEMA2:

Скриншот отображения списка файлов

5 Изучил работу с системной помощи

3 способа взаимодействия с системой помощи:

В главном меню выберите предложения «Справка» + « Документация» + « На диске».

Ввод в командную строку help randn.

Также можно использовать функции из дополнительных пакетов. Список пакетов можно получить выбрав в меню «Справка» + «Пакеты Octave».

6 Создание матрицы

Создал матрицу A с размерами 4x6 и случайными, нормально распределенными элементами:

>> A = randn(4, 6)
A =

   0.771762   1.105541   0.730124   2.126274  -1.003519  -0.173919
   0.444238   0.910021   1.645450  -1.097477  -0.395713  -1.081679
  -1.191087  -1.175833   1.129577  -1.678835   2.090537  -0.393653
  -1.157870   1.019957   0.037269   3.236657   0.895129  -1.517315

>>

Создал матрицу B с размерами 4x7, со случайными элементами, равномерно распределенными в диапазоне от 0 до 1:

>> B = rand(4, 7)
B =

   0.694982   0.394179   0.323789   0.508678   0.970610   0.117920   0.892635
   0.734522   0.627452   0.289060   0.477757   0.643385   0.933351   0.963873
   0.336235   0.814269   0.233545   0.013444   0.149924   0.667995   0.949852
   0.195053   0.396269   0.730697   0.216455   0.782906   0.132764   0.189516

>>

Создал вектор C с целыми числами от 4 до 27:

>> 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:

>> H = 'This is a symbols vector'
H = This is a symbols vector
>>

Создал вектор-строку L с 2 комплексными элементами:

>> L = [-2+23.1j, 3-5.6j]
L =

   -2.0000 + 23.1000i    3.0000 -  5.6000i

>>

7 Выполнение следующих операций

Преобразовал матрицу C в матрицу с 6 столбцами:

>> 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 с транспонированием матрицы B:

>> E = B'*A
E =

   0.236331   1.240351   2.103116   0.738438  -0.110577  -1.343705
  -0.845742   0.453508   2.254787   0.065083   1.413113  -1.669059
  -0.745924   1.091683   1.003080   2.344160   0.702988  -1.569616
   0.338176   1.202100   1.180775   1.235283  -0.477663  -0.938971
  -0.050181   2.280788   1.965852   3.639985  -0.214397  -2.111676
  -0.443727   0.329697   2.381378  -1.465343   1.027634  -1.494497
  -0.233701   0.940419   3.317734  -0.141089   0.878150  -1.859314

>> 

Создал матрицы путем горизонтального соединения матриц A и B:


>> F=[A,B]
F =

 Columns 1 through 12:

   0.771762   1.105541   0.730124   2.126274  -1.003519  -0.173919   0.694982   0.394179   0.323789   0.508678   0.970610   0.117920
   0.444238   0.910021   1.645450  -1.097477  -0.395713  -1.081679   0.734522   0.627452   0.289060   0.477757   0.643385   0.933351
  -1.191087  -1.175833   1.129577  -1.678835   2.090537  -0.393653   0.336235   0.814269   0.233545   0.013444   0.149924   0.667995
  -1.157870   1.019957   0.037269   3.236657   0.895129  -1.517315   0.195053   0.396269   0.730697   0.216455   0.782906   0.132764

 Column 13:

   0.892635
   0.963873
   0.949852
   0.189516

>> 

Поэлементарно перемножил матрицы A и D:


>> G = A.*D
G =

    3.0870    8.8443    8.7615   34.0204  -20.0704   -4.1740
    2.2212    8.1902   21.3908  -18.6571   -8.3100  -27.0420
   -7.1465  -11.7583   15.8141  -30.2190   45.9918  -10.2350
   -8.1051   11.2195    0.5590   61.4965   20.5880  -40.9675

>>

Поэлементарно поделил элементы матрицы G на 4.5:


>> M =G./4.5
M =

    0.6860    1.9654    1.9470    7.5601   -4.4601   -0.9276
    0.4936    1.8200    4.7535   -4.1460   -1.8467   -6.0093
   -1.5881   -2.6130    3.5142   -6.7153   10.2204   -2.2744
   -1.8011    2.4932    0.1242   13.6659    4.5751   -9.1039

>>

Поэлементарно возвел в степень элементы матрицы D:


>> 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 и с элементами по заданному условию:


>> 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 Изучение стандартных функций

  • Математические:

Корень:

>> B1 = sqrt(B)
B1 =

   0.8337   0.6278   0.5690   0.7132   0.9852   0.3434   0.9448
   0.8570   0.7921   0.5376   0.6912   0.8021   0.9661   0.9818
   0.5799   0.9024   0.4833   0.1159   0.3872   0.8173   0.9746
   0.4416   0.6295   0.8548   0.4652   0.8848   0.3644   0.4353

>>

Логарифм:

>> B2 = log(B)
B2 =

  -0.363869  -0.930950  -1.127662  -0.675940  -0.029831  -2.137750  -0.113577
  -0.308535  -0.466089  -1.241120  -0.738654  -0.441012  -0.068974  -0.036796
  -1.089944  -0.205465  -1.454382  -4.309246  -1.897627  -0.403475  -0.051449
  -1.634482  -0.925662  -0.313757  -1.530371  -0.244742  -2.019182  -1.663281

>>

Синус:

>> B3 = sin(B)
B3 =

   0.640372   0.384050   0.318161   0.487023   0.825230   0.117647   0.778728
   0.670233   0.587084   0.285052   0.459788   0.599907   0.803619   0.821407
   0.329936   0.727224   0.231427   0.013443   0.149363   0.619413   0.813330
   0.193819   0.385979   0.667389   0.214769   0.705343   0.132374   0.188384

>>
  • Операции с матрицами:
>> 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.8337
   0.7921
   0.4833
   0.4652

>>
>> DB = diag(B1D)
DB =

Diagonal Matrix

   0.8337        0        0        0
        0   0.7921        0        0
        0        0   0.4833        0
        0        0        0   0.4652

>>
>> BS1=sort(B)
BS1 =

   0.195053   0.394179   0.233545   0.013444   0.149924   0.117920   0.189516
   0.336235   0.396269   0.289060   0.216455   0.643385   0.132764   0.892635
   0.694982   0.627452   0.323789   0.477757   0.782906   0.667995   0.949852
   0.734522   0.814269   0.730697   0.508678   0.970610   0.933351   0.963873

>>
>> BS2=sortrows(B,2)
BS2 =

   0.694982   0.394179   0.323789   0.508678   0.970610   0.117920   0.892635
   0.195053   0.396269   0.730697   0.216455   0.782906   0.132764   0.189516
   0.734522   0.627452   0.289060   0.477757   0.643385   0.933351   0.963873
   0.336235   0.814269   0.233545   0.013444   0.149924   0.667995   0.949852

>>
>> 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 = 1255.5
>>
>> dinv = inv(A*A')
dinv =

   0.8194  -0.3173   0.4800  -0.2872
  -0.3173   0.2928  -0.2075   0.1266
   0.4800  -0.2075   0.3753  -0.1545
  -0.2872   0.1266  -0.1545   0.1674

>>

9 Изучение работы с индексацией элементов матрицы

>> 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 Изучение некоторых управляющих конструкций

Цикл по перечислению:

>> 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
>>

Цикл пока выполняется условие:

>> 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:

>> if (D(3,5)>=20)
printf('D(3,5)>=20')
else
printf('D(3,5)<20')
endif
D(3,5)>=20>>

11 Использование графических функций