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

11 KiB

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

Чернюк Виктория А-03-24

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

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

путь к папке ТЕМА1

3 Отмечаем галочками нужные параметры

4 Добавляем пути к файлам

списки файлов

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

GNU Octave Manual

Используем 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

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

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

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

  -1.566040   1.022528  -1.082336   1.060574  -1.166946  -0.040025
   0.729186  -0.929840  -1.381007   1.147912   0.360731  -1.612832
  -0.481197  -0.439834   1.347738  -0.398764  -0.024576   0.636071
  -0.607566   0.069257   0.057204  -1.166324  -1.470205  -1.034399

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

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

   0.344256   0.014810   0.424571   0.078178   0.264139   0.781169   0.804127
   0.992425   0.465993   0.834274   0.087590   0.053326   0.580783   0.025481
   0.196239   0.896082   0.504587   0.599906   0.332032   0.145209   0.696585
   0.581111   0.135927   0.371084   0.824356   0.089142   0.096275   0.830373

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

>> 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 комплексными элементами:

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

  -0.262949  -0.616852  -1.445425   0.748308  -0.902905  -2.090672
  -0.197173  -0.802869   0.555891   0.034765  -0.071047  -0.322792
  -0.524818  -0.537841  -0.910387   0.773946  -0.752473  -1.425434
  -0.848085  -0.208271   0.650095  -1.017228  -1.286349  -0.615527
  -0.588700   0.080639   0.093061   0.104981  -0.428217   0.022409
  -0.928210   0.201532  -1.446341   1.324983  -0.847188  -0.975195
  -2.080416   0.549677   0.080791  -0.364171  -2.167119  -0.489140

создание матрицы путем «горизонтального» соединения матриц А и В:

F=[A,B]
F =

 Columns 1 through 10:

  -1.566040   1.022528  -1.082336   1.060574  -1.166946  -0.040025   0.344256   0.014810   0.424571   0.078178
   0.729186  -0.929840  -1.381007   1.147912   0.360731  -1.612832   0.992425   0.465993   0.834274   0.087590
  -0.481197  -0.439834   1.347738  -0.398764  -0.024576   0.636071   0.196239   0.896082   0.504587   0.599906
  -0.607566   0.069257   0.057204  -1.166324  -1.470205  -1.034399   0.581111   0.135927   0.371084   0.824356

 Columns 11 through 13:

   0.264139   0.781169   0.804127
   0.053326   0.580783   0.025481
   0.332032   0.145209   0.696585
   0.089142   0.096275   0.830373

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

G=A.*D
G =

   -6.2642    8.1802  -12.9880   16.9692  -23.3389   -0.9606
    3.6459   -8.3686  -17.9531   19.5145    7.5754  -40.3208
   -2.8872   -4.3983   18.8683   -7.1778   -0.5407   16.5379
   -4.2530    0.7618    0.8581  -22.1602  -33.8147  -27.9288

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

 M = G./4.5
M =

  -1.3920   1.8178  -2.8862   3.7709  -5.1864  -0.2135
   0.8102  -1.8597  -3.9896   4.3366   1.6834  -8.9602
  -0.6416  -0.9774   4.1930  -1.5951  -0.1202   3.6751
  -0.9451   0.1693   0.1907  -4.9245  -7.5144  -6.2064

поэлементное возведение в степень элементов матрицы 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.5867   0.1217   0.6516   0.2796   0.5139   0.8838   0.8967
   0.9962   0.6826   0.9134   0.2960   0.2309   0.7621   0.1596
   0.4430   0.9466   0.7103   0.7745   0.5762   0.3811   0.8346
   0.7623   0.3687   0.6092   0.9079   0.2986   0.3103   0.9112
>> B2=log(B)
B2 =

  -1.0664e+00  -4.2125e+00  -8.5668e-01  -2.5488e+00  -1.3313e+00  -2.4696e-01  -2.1800e-01
  -7.6041e-03  -7.6358e-01  -1.8119e-01  -2.4351e+00  -2.9313e+00  -5.4338e-01  -3.6698e+00
  -1.6284e+00  -1.0972e-01  -6.8401e-01  -5.1098e-01  -1.1025e+00  -1.9296e+00  -3.6156e-01
  -5.4281e-01  -1.9956e+00  -9.9133e-01  -1.9315e-01  -2.4175e+00  -2.3405e+00  -1.8588e-01
>> B3=sin(B)
B3 =

   0.337496   0.014809   0.411930   0.078099   0.261078   0.704110   0.720225
   0.837354   0.449310   0.740809   0.087478   0.053301   0.548679   0.025478
   0.194982   0.780886   0.483446   0.564565   0.325965   0.144699   0.641602
   0.548953   0.135509   0.362626   0.734111   0.089024   0.096126   0.738183

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

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.5867
   0.6826
   0.7103
   0.9079
>> DB=diag(B1D)
DB =

Diagonal Matrix

   0.5867        0        0        0
        0   0.6826        0        0
        0        0   0.7103        0
        0        0        0   0.9079
>> BS1=sort(B)
BS1 =

   0.196239   0.014810   0.371084   0.078178   0.053326   0.096275   0.025481
   0.344256   0.135927   0.424571   0.087590   0.089142   0.145209   0.696585
   0.581111   0.465993   0.504587   0.599906   0.264139   0.580783   0.804127
   0.992425   0.896082   0.834274   0.824356   0.332032   0.781169   0.830373
>> BS2=sortrows(B,2)
BS2 =

   0.344256   0.014810   0.424571   0.078178   0.264139   0.781169   0.804127
   0.581111   0.135927   0.371084   0.824356   0.089142   0.096275   0.830373
   0.992425   0.465993   0.834274   0.087590   0.053326   0.580783   0.025481
   0.196239   0.896082   0.504587   0.599906   0.332032   0.145209   0.696585
>> 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 = 246.59
>> dinv=inv(A*A')
dinv =

   0.192611   0.079161   0.204485  -0.052344
   0.079161   0.325357   0.425809   0.012347
   0.204485   0.425809   0.973266  -0.029157
  -0.052344   0.012347  -0.029157   0.219869

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

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

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

![результат выполнения функции](plot.png)

Функция расчета и построения гистограммы:
```matlab
hist(A(:),6)



## 12 
*Программа Progl*
```matlab
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;