Files
it-labs/ТЕМА1/report.md
2026-02-11 21:34:51 +03:00

12 KiB

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

Латышев Герман, А-03-24

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

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

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

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

3 Настройка отображения окон

4 Установка путей к папкам ТЕМА1 и ТЕМА2

Добавил пути к папкам ТЕМА1 и ТЕМА2

Проверил список файлов в текущей папке

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

5 Работа с системой помощи

Открыл обширное англоязычное описание методики работы со средой

Скриншот англоязычного описания

Применил способ получения справок с помощью команды help

>> 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 Создание нескольких матриц с помощью различных команд

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

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

  -0.737272   0.612528  -1.024760  -0.481634   0.229665   1.197123
  -1.502819  -0.179056   1.459476  -0.470790   0.300122   0.020587
   0.345345   2.078780  -1.079867  -0.704489   1.252897   0.841148
   0.553064   0.851616  -0.768269   1.228038  -0.726337  -0.294298

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

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

   0.591052   0.095643   0.911809   0.394246   0.221930   0.719075   0.824591
   0.942754   0.399137   0.849660   0.237451   0.687453   0.827892   0.189113
   0.941095   0.341196   0.281087   0.177957   0.271788   0.637949   0.856088
   0.300132   0.879681   0.582801   0.533300   0.633886   0.015839   0.275049

Вектор С с целыми числами от 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 = "This is a symbols vector"
H = This is a symbols vector

Вектор-строка L с 2 комплексными элементами

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 =

  -1.3616e+00   2.4052e+00  -4.7660e-01  -1.0229e+00   1.3798e+00   1.4302e+00
  -6.5995e-02   1.4455e+00  -5.5976e-01   6.0594e-01  -6.9706e-02   1.5082e-01
  -1.5297e+00   1.4870e+00  -4.4561e-01  -3.2149e-01   3.9327e-01   1.1740e+00
  -2.9111e-01   1.0231e+00  -6.5934e-01   2.2787e-01  -2.5858e-03   4.6959e-01
  -7.5230e-01   1.1177e+00  -4.5935e-03   1.5643e-01   1.3740e-01   3.2189e-01
  -1.5453e+00   1.6319e+00  -2.2966e-01  -1.1661e+00   1.2014e+00   1.4098e+00
  -4.4439e-01   2.4851e+00  -1.7048e+00  -7.5152e-01   1.1189e+00   1.6302e+00

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

>> F = [A,B]
F =

 Columns 1 through 12:

  -0.737272   0.612528  -1.024760  -0.481634   0.229665   1.197123   0.591052   0.095643   0.911809   0.394246   0.221930   0.719075
  -1.502819  -0.179056   1.459476  -0.470790   0.300122   0.020587   0.942754   0.399137   0.849660   0.237451   0.687453   0.827892
   0.345345   2.078780  -1.079867  -0.704489   1.252897   0.841148   0.941095   0.341196   0.281087   0.177957   0.271788   0.637949
   0.553064   0.851616  -0.768269   1.228038  -0.726337  -0.294298   0.300132   0.879681   0.582801   0.533300   0.633886   0.015839

 Column 13:

   0.824591
   0.189113
   0.856088
   0.275049

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

>> G = A.*D
G =

   -2.9491    4.9002  -12.2971   -7.7061    4.5933   28.7309
   -7.5141   -1.6115   18.9732   -8.0034    6.3026    0.5147
    2.0721   20.7878  -15.1181  -12.6808   27.5637   21.8699
    3.8714    9.3678  -11.5240   23.3327  -16.7058   -7.9460

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

>> M = G./4.5
M =

  -0.6554   1.0889  -2.7327  -1.7125   1.0207   6.3847
  -1.6698  -0.3581   4.2163  -1.7785   1.4006   0.1144
   0.4605   4.6195  -3.3596  -2.8180   6.1253   4.8600
   0.8603   2.0817  -2.5609   5.1851  -3.7124  -1.7658

Поэлементное возведение в степень элементов матрицы 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

Cоздание логической матрицы, совпадающей по размерам с 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

8 Изучение математических функций и операций с матрицами

Математические функции:

>> B1=sqrt(B)
B1 =

   0.7688   0.3093   0.9549   0.6279   0.4711   0.8480   0.9081
   0.9710   0.6318   0.9218   0.4873   0.8291   0.9099   0.4349
   0.9701   0.5841   0.5302   0.4218   0.5213   0.7987   0.9253
   0.5478   0.9379   0.7634   0.7303   0.7962   0.1259   0.5245

>> B2=log(B)
B2 =

  -0.525851  -2.347137  -0.092325  -0.930781  -1.505391  -0.329790  -0.192867
  -0.058950  -0.918451  -0.162919  -1.437794  -0.374762  -0.188873  -1.665412
  -0.060711  -1.075298  -1.269092  -1.726215  -1.302733  -0.449496  -0.155382
  -1.203532  -0.128196  -0.539910  -0.628671  -0.455887  -4.145287  -1.290805

>> B3=sin(B)
B3 =

   0.557235   0.095497   0.790613   0.384112   0.220113   0.658689   0.734270
   0.809179   0.388623   0.751056   0.235226   0.634571   0.736507   0.187988
   0.808204   0.334615   0.277400   0.177019   0.268454   0.595549   0.755285
   0.295647   0.770536   0.550364   0.508378   0.592280   0.015838   0.271594

Операции с матрицами:

>> 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.7688
   0.6318
   0.5302
   0.7303

>> DB=diag(B1D)
DB =

Diagonal Matrix

   0.7688        0        0        0
        0   0.6318        0        0
        0        0   0.5302        0
        0        0        0   0.7303

>> BS1=sort(B)
BS1 =

   0.300132   0.095643   0.281087   0.177957   0.221930   0.015839   0.189113
   0.591052   0.341196   0.582801   0.237451   0.271788   0.637949   0.275049
   0.941095   0.399137   0.849660   0.394246   0.633886   0.719075   0.824591
   0.942754   0.879681   0.911809   0.533300   0.687453   0.827892   0.856088

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

   0.591052   0.095643   0.911809   0.394246   0.221930   0.719075   0.824591
   0.941095   0.341196   0.281087   0.177957   0.271788   0.637949   0.856088
   0.942754   0.399137   0.849660   0.237451   0.687453   0.827892   0.189113
   0.300132   0.879681   0.582801   0.533300   0.633886   0.015839   0.275049

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

   5.2600e-01  -4.3199e-02  -2.4925e-01   4.7028e-02
  -4.3199e-02   4.3540e-01   8.0641e-02   3.1915e-01
  -2.4925e-01   8.0641e-02   2.4811e-01  -2.2361e-03
   4.7028e-02   3.1915e-01  -2.2361e-03   5.1804e-01

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:

D(3,5)>=20

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

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

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

Скриншот графика

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

>> hist(A(:),6)

Скриншот гистограммы

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

>> pie(C)

Скриншот круговой диаграммы

Функция расчета и посторения диаграммы столбцов:

>> bar(C)

Скриншот диаграммы столбцов

12 Работа с текстовым редактором среды

Создал сценарий Prog1.m

Скриншот сценария

Запустил программу из открытого файла на выполнение

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

Запустил программу на выполнение вводом имени файла Prog1 в командной строке

Скриншот программы

13 Сохранение и загрузка области переменных

Создал файл "Perem"

Сохранил и загрузил область переменных

Скриншот области переменных