Files
it-labs/ТЕМА1/report.md

11 KiB

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

Зенина Варвара А-03-24

1 Запуск на выполнение среды GNU Octave

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

Путь к папке ТЕМА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 Создание матриц с помощью команд

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

  -0.699730  -0.976977  -0.271006  -2.518044  -0.422044   1.454752
   0.043711  -0.973201  -0.576803   0.774990  -0.159686   0.368326
   1.232508   1.769434  -0.843969   0.429818   0.669032   1.573897
   1.308529  -0.563002  -0.595588   0.479220   0.031290  -1.169116
  • матрица А со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами
matlab
>>> B=rand(4,7)
B =

   0.911234   0.328625   0.303009   0.174785   0.553852   0.458439   0.822197
   0.254895   0.233823   0.939794   0.225898   0.974590   0.446039   0.040543
   0.890675   0.471907   0.287485   0.777967   0.523829   0.240374   0.826572
   0.775910   0.599860   0.923872   0.051989   0.801522   0.562365   0.100517
  • матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1

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

  • вектор С с целыми числами от 4 до 27
matlab
>>> H='This is a symbols vector'
H = This is a symbols vector
  • символьный вектор Н
matlab
>>> L=[-2+23.1j, 3-5.6j]
L =

  -2.0000 + 23.1000i    3.0000 -  5.6000i
  • вектор-строка L с 2 комплексными элементами

Область переменных

Журнал выполненных команд

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
  • преобразование матрицы С в матрицу с 6 столбцами
matlab
>>> E=B'*A
E =

   1.4866e+00   8.3372e-04  -1.6078e+00  -1.3423e+00   1.9488e-01   1.9142e+00
   1.1468e+00  -5.1330e-02  -9.7947e-01  -1.5598e-01   1.5846e-01   6.0562e-01
   1.3923e+00  -1.2221e+00  -1.4171e+00   5.3164e-01  -5.6711e-02   1.5931e-01
   9.1445e-01   9.5669e-01  -8.6521e-01   9.4250e-02   4.1227e-01   1.5011e+00
   1.3495e+00  -1.0139e+00  -1.6317e+00  -3.0069e-02  -1.3841e-02   1.0521e+00
   7.3085e-01  -7.7326e-01  -9.1932e-01  -4.3588e-01  -8.6294e-02   5.5206e-01
   5.7674e-01   5.6325e-01  -1.0037e+00  -1.6355e+00   2.0267e-01   2.3944e+00
  • матричное перемножение В и А с транспонированием матрицы В
matlab
>>> F=[A,B]
F =

 Columns 1 through 12:

  -0.699730  -0.976977  -0.271006  -2.518044  -0.422044   1.454752   0.911234   0.328625   0.303009   0.174785   0.553852   0.458439
   0.043711  -0.973201  -0.576803   0.774990  -0.159686   0.368326   0.254895   0.233823   0.939794   0.225898   0.974590   0.446039
   1.232508   1.769434  -0.843969   0.429818   0.669032   1.573897   0.890675   0.471907   0.287485   0.777967   0.523829   0.240374
   1.308529  -0.563002  -0.595588   0.479220   0.031290  -1.169116   0.775910   0.599860   0.923872   0.051989   0.801522   0.562365

 Column 13:

   0.822197
   0.040543
   0.826572
   0.100517
  • создание матрицы путем «горизонтального» соединения матриц А и В
matlab
>>> G=A.*D
G =

   -2.7989   -7.8158   -3.2521  -40.2887   -8.4409   34.9141
    0.2186   -8.7588   -7.4984   13.1748   -3.3534    9.2082
    7.3950   17.6943  -11.8156    7.7367   14.7187   40.9213
    9.1597   -6.1930   -8.9338    9.1052    0.7197  -31.5661
  • поэлементное перемножение матриц A и D
matlab
>>> M=G./4.5
M =

  -0.621982  -1.736847  -0.722682  -8.953047  -1.875753   7.758679
   0.048568  -1.946401  -1.666318   2.927739  -0.745202   2.046257
   1.643344   3.932076  -2.625683   1.719271   3.270822   9.093625
   2.035489  -1.376227  -1.985293   2.023373   0.159925  -7.014693
  • поэлементное деление элементов матрицы G на 4.5
matlab
>>> 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
matlab
>>> 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
  • создание логической матрицы, совпадающей по размерам с D и с элементами по заданному условию
matlab
>>> 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)
B1 =

   0.9546   0.5733   0.5505   0.4181   0.7442   0.6771   0.9068
   0.5049   0.4836   0.9694   0.4753   0.9872   0.6679   0.2014
   0.9438   0.6870   0.5362   0.8820   0.7238   0.4903   0.9092
   0.8809   0.7745   0.9612   0.2280   0.8953   0.7499   0.3170

>>> B2=log(B)
B2 =

  -0.092956  -1.112839  -1.193992  -1.744199  -0.590858  -0.779927  -0.195776
  -1.366903  -1.453189  -0.062095  -1.487673  -0.025738  -0.807350  -3.205395
  -0.115776  -0.750974  -1.246585  -0.251072  -0.646589  -1.425560  -0.190468
  -0.253719  -0.511059  -0.079181  -2.956728  -0.221243  -0.575604  -2.297433

>>> B3=sin(B)
B3 =

   0.790260   0.322742   0.298394   0.173896   0.525967   0.442549   0.732643
   0.252144   0.231699   0.807436   0.223981   0.827472   0.431395   0.040532
   0.777496   0.454586   0.283541   0.701832   0.500200   0.238066   0.735613
   0.700366   0.564527   0.797942   0.051965   0.718416   0.533188   0.100347

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

matlab
>>> 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.9546
   0.4836
   0.5362
   0.2280

>>> DB=diag(B1D)
DB =

Diagonal Matrix

   0.9546        0        0        0
        0   0.4836        0        0
        0        0   0.5362        0
        0        0        0   0.2280

>>> BS1=sort(B)
BS1 =

   0.254895   0.233823   0.287485   0.051989   0.523829   0.240374   0.040543
   0.775910   0.328625   0.303009   0.174785   0.553852   0.446039   0.100517
   0.890675   0.471907   0.923872   0.225898   0.801522   0.458439   0.822197
   0.911234   0.599860   0.939794   0.777967   0.974590   0.562365   0.826572

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

   0.254895   0.233823   0.939794   0.225898   0.974590   0.446039   0.040543
   0.911234   0.328625   0.303009   0.174785   0.553852   0.458439   0.822197
   0.890675   0.471907   0.287485   0.777967   0.523829   0.240374   0.826572
   0.775910   0.599860   0.923872   0.051989   0.801522   0.562365   0.100517

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

   0.138283  -0.027436   0.029141   0.118243
  -0.027436   0.549321   0.011396  -0.142145
   0.029141   0.011396   0.125583   0.035920
   0.118243  -0.142145   0.035920   0.380003

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

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

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
>>> graphics_toolkit('gnuplot')
plot(D(1,:),B([2,4],1:6))

Результат выполнения функции plot

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

matlab
>>> hist(A(:),6)

Результат выполнения функции hist

Изучение других функций

matlab
>>> pie(C)
bar(C)

Результат выполнения функции pie

Результат выполнения функции bar

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

Содержание файла Prog1.m.

matlab
>>> C = 4:27
D=reshape(C,[],6)
D1=D(3,5)
D2=D(3,4:end)
D3=D(2:3,3:5)
D4=D(16:20)
D5=D(3:4,[1,3,6])

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