Files
it-labs/ТЕМА1/report.md
2026-02-12 12:16:10 +03:00

13 KiB

# Отчёт TEMA 1

##1 Запуск среды GNU Octave

##2 Установка пути к файлу TEMA1

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

##3 Отмечены галочками предложения показывать командное окно, журнал выполненных команд, диспетчер файлов, область переменных и редактор

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

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

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

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

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

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

##6 Изучение команд для создание матриц и векторов

матрицы A со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами

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

  -0.6819  -1.1336  -0.7915   1.0279  -0.9934   1.4233
   0.7310  -1.2365   1.1002  -0.3373  -1.7403   0.3766
  -1.1969   0.6434   0.9887  -0.7704  -0.4197   0.6368
  -2.0208  -0.3353  -1.3185  -1.8202   0.3460  -0.5353

матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1

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

   0.975573   0.353650   0.804231   0.914004   0.155252   0.087847   0.461159
   0.772747   0.056309   0.473087   0.877076   0.883961   0.577245   0.527567
   0.701602   0.346770   0.493828   0.864566   0.785093   0.490313   0.583912
   0.907601   0.712258   0.858624   0.288371   0.666442   0.163280   0.616225

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

>> C = 4:27
C =

 Columns 1 through 17:

    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20

 Columns 18 through 24:

   21   22   23   24   25   26   27

символьный вектор Н

>>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 Выполнение операций с матрицей

преобразование матрицы С в матрицу с 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

матричное перемножение В и А с транспонированием матрицы В (число столбцов в В должно совпадать с числом строк в А)

>> E=B'*A
E =

  -2.774124  -1.914420  -0.424962  -1.450396  -2.294374   1.640477
  -2.054371  -0.486278  -0.814192  -1.219101  -0.348429   0.364112
  -2.528708  -1.466901  -0.759879  -1.276227  -1.532420   1.177666
  -1.599549  -1.661118   0.716114  -0.547294  -2.697396   2.027386
  -1.746066  -0.987394   0.747188  -1.956496  -1.791486   0.697066
  -0.554705  -0.552649   0.835045  -0.779357  -1.241118   0.567247
  -1.872923  -1.006096  -0.019735  -1.275439  -1.408092   0.897015

создание матрицы путем «горизонтального» соединения матриц А и В (числа строк у соединяемых матриц должны совпадать)

>> F=[A,B]
F =

 Columns 1 through 7:

  -0.681852  -1.133648  -0.791501   1.027921  -0.993394   1.423287   0.975573
   0.731041  -1.236531   1.100165  -0.337275  -1.740265   0.376573   0.772747
  -1.196851   0.643418   0.988739  -0.770449  -0.419690   0.636825   0.701602
  -2.020849  -0.335347  -1.318471  -1.820219   0.345960  -0.535297   0.907601

 Columns 8 through 13:

   0.353650   0.804231   0.914004   0.155252   0.087847   0.461159
   0.056309   0.473087   0.877076   0.883961   0.577245   0.527567
   0.346770   0.493828   0.864566   0.785093   0.490313   0.583912
   0.712258   0.858624   0.288371   0.666442   0.163280   0.616225

поэлементное перемножение матриц A и D (размеры матриц должны совпадать)

>> G=A.*D
G =

   -2.7274   -9.0692   -9.4980   16.4467  -19.8679   34.1589
    3.6552  -11.1288   14.3021   -5.7337  -36.5456    9.4143
   -7.1811    6.4342   13.8423  -13.8681   -9.2332   16.5574
  -14.1459   -3.6888  -19.7771  -34.5842    7.9571  -14.4530

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

>> M=G./4.5
M =

  -0.6061  -2.0154  -2.1107   3.6548  -4.4151   7.5909
   0.8123  -2.4731   3.1783  -1.2741  -8.1212   2.0921
  -1.5958   1.4298   3.0761  -3.0818  -2.0518   3.6794
  -3.1435  -0.8197  -4.3949  -7.6854   1.7682  -3.2118

поэлементное возведение в степень элементов матрицы 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.9877   0.5947   0.8968   0.9560   0.3940   0.2964   0.6791
   0.8791   0.2373   0.6878   0.9365   0.9402   0.7598   0.7263
   0.8376   0.5889   0.7027   0.9298   0.8861   0.7002   0.7641
   0.9527   0.8440   0.9266   0.5370   0.8164   0.4041   0.7850

Поэлементное взятие логорифма

>> B2=log(B)
B2 =

  -0.024730  -1.039447  -0.217869  -0.089920  -1.862704  -2.432155  -0.774012
  -0.257804  -2.876903  -0.748476  -0.131162  -0.123342  -0.549488  -0.639478
  -0.354390  -1.059094  -0.705568  -0.145527  -0.241953  -0.712712  -0.538006
  -0.096951  -0.339315  -0.152425  -1.243507  -0.405802  -1.812289  -0.484143

Поэлементное взятие синуса

>> B3=sin(B)
B3 =

   0.828023   0.346324   0.720298   0.791955   0.154629   0.087734   0.444986
   0.698105   0.056279   0.455636   0.768872   0.773257   0.545718   0.503433
   0.645442   0.339862   0.474000   0.760814   0.706891   0.470902   0.551292
   0.788029   0.653544   0.756944   0.284391   0.618193   0.162555   0.577959

Операции с матрицами Количество столбцов матрицы

>> k=length(B1)
k = 7

Количество строк и столбцов матрицы

>> nm=size(B1)
nm =

   4   7

Количество элементов матрицы

>> elem=numel(B1)
elem = 28

Генерация вектора из 20 линейно расположенных точек между указанными значениями

>> NN=linspace(11.5,34.1,20)
NN =

 Columns 1 through 9:

   11.500   12.689   13.879   15.068   16.258   17.447   18.637   19.826   21.016

 Columns 10 through 18:

   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

Генерация матрицы из единиц

>> 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.9877
   0.2373
   0.7027
   0.5370

Формирование матрицы с указанной в векторе диагональю

>> DB=diag(B1D)
DB =

Diagonal Matrix

   0.9877        0        0        0
        0   0.2373        0        0
        0        0   0.7027        0
        0        0        0   0.5370

Сортировка матрицы по столбцам

>> BS1=sort(B)
BS1 =

   0.701602   0.056309   0.473087   0.288371   0.155252   0.087847   0.461159
   0.772747   0.346770   0.493828   0.864566   0.666442   0.163280   0.527567
   0.907601   0.353650   0.804231   0.877076   0.785093   0.490313   0.583912
   0.975573   0.712258   0.858624   0.914004   0.883961   0.577245   0.616225

Сортировка матрицы по строкам

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

   0.772747   0.056309   0.473087   0.877076   0.883961   0.577245   0.527567
   0.701602   0.346770   0.493828   0.864566   0.785093   0.490313   0.583912
   0.975573   0.353650   0.804231   0.914004   0.155252   0.087847   0.461159
   0.907601   0.712258   0.858624   0.288371   0.666442   0.163280   0.616225

Суммирование матрицы по столбцам

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

Обратная матрица произведения матрицы и транспонированной матрицы

>> dinv=inv(A*A')
dinv =

   0.174119  -0.062242   0.025931  -0.019148
  -0.062242   0.206206  -0.067384   0.069277
   0.025931  -0.067384   0.295603  -0.073988
  -0.019148   0.069277  -0.073988   0.136546

##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 Использование графических функций команда для корректной работы построения графиков

>> graphics_toolkit('gnuplot')

функция построеия графиков

>> plot(D(1,:),B([2,4],1:6))

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

функция построеия гистограммы

>> hist(A(:),6)

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

Функция построения диаграммы

>> pie(C)

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

функция построения гистограммы

>> bar(B)

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

##12 Изучение роботы с текстовым редактором среды

Создаем сценарий с выполнением команд пункта 9

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

Результат выполнения сценария

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

##13 Сохранение области переменных в файл

Сохраняем область переменных матриц A и B

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